拆分一个 JavaScript 项目
Splitting up a javascript project
我越来越多地看到大型javascript项目被拆分为单独的文件,然后编译成单个发行版。我想尝试一下这个工作流程。我一直在研究Node.js,npm和Grunt,但这些都是非常陡峭的学习曲线,并且包含许多其他我目前不感兴趣的概念。
任何人都可以推荐一些关于这些工作流程的最佳实践的文献吗?
如果我将代码拆分,如何指示它应该如何映射在一起?
如何将项目编译为单个发行版?
如何为自定义版本提供选项?
让我们以jQuery为例。在典型情况下,您将有几个不同的文件组成一个项目;CSS File, HTML File, JavaScript File, jQuery File.所有这些文件将构成一个项目。那么,它们是如何流动的呢?好吧,如果你的自定义JavaScript文件正在利用jQuery,在你的HTML中,你需要首先加载jQuery文件,然后加载你的JavaScript文件。这样做的原因是,如果你先加载JavaScript文件,它还没有jQuery的代码,所以它不起作用。而当你首先加载jQuery时,你正在加载所有这些引用,以便它们可以在其他文件中使用。
您可以运行一个简单的测试来了解这一切是如何工作的,那就是创建 2 个单独的 JavaScript 文件。我们称之为 JS1.js 和 JS2.js。
网页文件
<!DOCTYPE html />
<html>
<head>
<link rel="stylesheet" href="theCSS.css" />
</head>
<body>
<script type="text/javascript" src="JS1.js"></script>
<script type="text/javascript" src="JS2.js"></script>
</body>
</html>
JS1.js
function fromJS1File() {
var message = "Hello World";
return message;
}
JS2.js
alert(fromJS1File());
当你运行它时,你会收到一条警告消息,说"Hello World" 现在,你可以看到 JS2.js 实际上是如何调用 JS1 的代码.js
现在,尝试在 HTML 代码中重新组织脚本标记,以便首先加载 JS2.js。您将看到没有任何反应,否则您将收到错误/未定义的消息。
至于"映射"部分,这一切都取决于您的操作流程。有时有公共或全局文件,而其他文件则更精细。最好的经验法则是回到jQuery文件示例。如果它适用于所有 JS 文件,请确保先加载它,以便其他代码文件可以利用它。
- 我应该如何从xml文件构建一个javascript页面
- 有没有一个javascript图形绘制库可以进行气球树布局
- 如何将一个JavaScript函数回调为多个函数
- 代码背后调用一个JavaScript函数的按钮点击-C#
- 多次调用另一个javascript函数中的javascript函数
- HTML外部javascript加载另一个javascript
- 在一个javascript文件中为整个网站创建标签
- 在任何AJAX调用之前触发一个javascript函数
- 如何用另一个Javascript更改Javascript函数值
- 动态创建一个javascript/jquery多级数组
- 将变量值从一个javascript传递到另一个javascript
- 获取一个javascript对象attr's
- 是一个javascript bookmarklet,可以设置破坏跨域安全的域cookie
- PNG图像被覆盖,但每个图像都有一个链接可以更改,每次一个-Javascript/jQuery/CSS
- 添加一个javascript函数来下载elfinder上的事件
- 有没有一个Javascript代码可以看到你的缓存有多满
- 使用jenkins从不同文件夹中的文件构建一个javascript文件
- 是否有一个javascript库来解析简单的查询
- 一个javascript实现base64图像编码并将结果写入文本文件
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器