如何用requirejs优化目录中的所有javascript文件
How to optimize all javascript files in a directory with requirejs
文件夹结构如下:
.
├── autocomplete
│ ├── core.js
│ ├── search.js
│ └── user.js
├── build.js
├── collapsible_lists.js
├── griffgrabber
│ ├── canvasobject.js
│ ├── cargame.js
│ ├── car.js
│ ├── griffDrawer.js
│ ├── keylistener.js
│ ├── run.js
│ └── victim.js
├── main.js
├── newsfeed.js
├── require.js
├── shortcut.js
└── sidebar.js
3 directories, 20 files
main.js是启动文件。该文件需要几个文件,但不是全部。其余的文件包含在
中<script>
require(['shortcut'], function(shortcut){
// ...
})
</script>
这是目前为止我的build.js文件:
{
baseUrl: ".",
name: "main",
out: "main-built.js",
}
但是它只包含main.js所需的文件。是否有可能在一次运行中优化所有javascript文件?
(扩展@Ryan Lynch的建议):
使用include
选项,按照文档:
你总是可以使用include选项显式地添加在优化器的静态分析中没有找到的模块。
(http://requirejs.org/docs/optimization.html)
{
baseUrl: ".", // ?
appDir: ".", // ?
dir: "output/",
modules: [
{
name: "main",
include: [ "shortcut" ]
}
]
}
在example.build.js中有更详细的示例(实际上我发现它比文档页更有用)
(对不起,没有时间复制和测试正确,以确保路径值是正确的,我稍后会尝试并更新我的答案)
尝试在你的选项中包含一个模块数组,所以:
{
baseUrl: ".",
out: "main-built.js",
modules: [
{
name: "main"
}
]
}
根据文档:
在modules数组中指定你想要的模块名在这个例子中,优化"main"。"main"将被映射到项目中的Appdirectory/scripts/main.js。构建系统将然后跟踪main.js的依赖项,并将它们注入appdirectory-build/脚本/main.js文件。
实现这一目标的另一种不太正统的方法是将此"shortcut"
模块作为依赖项添加到r.js
扫描发现的任何"可见"模块(即:"main.js")。这样,从"shortcut"开始的整个依赖分支将包含在输出中。
相关文章:
- 使用压缩的JavaScript文件(不是运行时压缩)
- 如何包含特定于每个视图angularjs的javascript文件
- 将数据从javascript文件导入VB.Net页面
- Chrome加载旧版本的Javascript文件
- 操作员”;新的“;根据我想在几个JavaScript文件中使用的类,在JavaScript中使用
- gulp-if-javascript文件,但不在gulp-useref的特定目录中
- 如何在visualstudio中调试web api时编辑javascript文件
- 关于引入外部javascript文件的问题&css通过https
- 有没有办法在tinymceiframe中加载一个外部javascript文件
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 在一个javascript文件中为整个网站创建标签
- 如何在定义js文件后为外部javascript文件设置变量
- 显示IIS上javascript文件(SOAP请求)的XML响应
- ResolveUrl没有'我似乎不适合当链接到具有动态虚拟目录的外部javascript文件时
- 我应该将MVC视图特定的javascript文件放在哪个文件夹中
- Django'支持Javascript文件中的翻译
- MVC正在忽略我的Javascript文件
- 为什么不't我的ruby代码与javascript文件一起插入
- 在Javascript文件中获取PHP变量
- 如何在Windows中将Javascript文件编译成二进制文件