优化 Durandal 的构建过程
Optimizing Durandal's build process
Durandal 的 HTML starter kit pro 包含以下用于优化构建的 g运行t 任务:
durandal: {
main: {
src: ['app/**/*.*', 'lib/durandal/**/*.js'],
options: {
name: '../lib/require/almond-custom',
baseUrl: requireConfig.baseUrl,
mainPath: 'app/main',
paths: mixIn({}, requireConfig.paths, {
'almond': '../lib/require/almond-custom.js'
}),
exclude: [],
optimize: 'none',
out: 'build/app/main.js'
}
}
}
我对此有一些顾虑,需要您帮助解决:
脚本文件冗余。构建过程会在 lib
文件夹中保留 jQuery、bootstrap 等脚本。为什么?如果您查看内置的 build/app/main.js
是否添加了所有这些脚本。这让我想到了以下问题:
如果我删除 lib
文件夹,一切正常,除了我在控制台中得到一个 require is not defined
。代码仍然寻找 lib/require/require.js
,只需将它添加到那里即可解决。然而,这不就是 almond
的意义所在吗?它包含在内置的 build/app/main.js
文件中。据我所知,Almond 是用于优化文件的 require 的轻量级替代品。
要重现问题,您只需 运行 顶部 link 中提供的 "Quick start"。
是的,您是对的,main.js
包含 运行 应用程序所需的一切。你得到 require is not defined
的原因是,如果你仔细查看 index.html
文件,你会看到 index.html
引用在 /lib/require
文件夹中查找文件并加载我们的main.js
文件通过它。在 index.html
中的正下方还有另一行被注释,您可以取消注释它,即使您删除 lib
目录,它也应该可以正常工作。
在取消注释 <script src="app/main.js"></script>
行并注释 <script src="lib/require/require.js" data-main="app/main"></script>
.
后删除 /lib
目录会出现的唯一错误
希望对您有所帮助。
Durandal 的 HTML starter kit pro 包含以下用于优化构建的 g运行t 任务:
durandal: {
main: {
src: ['app/**/*.*', 'lib/durandal/**/*.js'],
options: {
name: '../lib/require/almond-custom',
baseUrl: requireConfig.baseUrl,
mainPath: 'app/main',
paths: mixIn({}, requireConfig.paths, {
'almond': '../lib/require/almond-custom.js'
}),
exclude: [],
optimize: 'none',
out: 'build/app/main.js'
}
}
}
我对此有一些顾虑,需要您帮助解决:
脚本文件冗余。构建过程会在
lib
文件夹中保留 jQuery、bootstrap 等脚本。为什么?如果您查看内置的build/app/main.js
是否添加了所有这些脚本。这让我想到了以下问题:如果我删除
lib
文件夹,一切正常,除了我在控制台中得到一个require is not defined
。代码仍然寻找lib/require/require.js
,只需将它添加到那里即可解决。然而,这不就是almond
的意义所在吗?它包含在内置的build/app/main.js
文件中。据我所知,Almond 是用于优化文件的 require 的轻量级替代品。
要重现问题,您只需 运行 顶部 link 中提供的 "Quick start"。
是的,您是对的,main.js
包含 运行 应用程序所需的一切。你得到 require is not defined
的原因是,如果你仔细查看 index.html
文件,你会看到 index.html
引用在 /lib/require
文件夹中查找文件并加载我们的main.js
文件通过它。在 index.html
中的正下方还有另一行被注释,您可以取消注释它,即使您删除 lib
目录,它也应该可以正常工作。
在取消注释 <script src="app/main.js"></script>
行并注释 <script src="lib/require/require.js" data-main="app/main"></script>
.
/lib
目录会出现的唯一错误
希望对您有所帮助。