我有一个完整的应用程序使用Typescript和RequireJs,它工作得很好。我现在已经下载了WebEssentials,它正在生成缩小的脚本文件。 WebEssentials生成与原始脚本文件同名的独立* .min.js文件。
如何告诉RequireJs加载我的缩小文件而不是原始脚本文件?
提前致谢
答案 0 :(得分:9)
您可以使用路径配置覆盖模块路径。您甚至可以回退到非缩小文件:
requirejs.config({
enforceDefine: true,
paths: {
jquery: [
'lib/jquery.min',
'lib/jquery'
]
}
});
可能有一种更通用的方法来使用我不知道的min文件!
答案 1 :(得分:9)
您可以创建一个简单的自定义需要版本,它会有条件地将'.min.js'附加到通常只接收'.js'附件的所有模块文件请求中。请考虑以下事项:
//Establish a new 'useMinified' boolean in your initial config.
require.config({ useMinified: true });
然后,编辑require.js库文件并修改'nameToUrl'函数,如下所示:
//Join the path parts together, then figure out if baseUrl is needed.
url = syms.join('/');
//new statement
var extension = config.useMinified ? '.min.js' : '.js';
//customized statement
url += (ext || (/^data\:|\?/.test(url) || skipExt ? '' : extension));
url = (url.charAt(0) === '/' || url.match(/^[\w\+\.\-]+:/) ? '' : config.baseUrl) + url;
答案 2 :(得分:0)
这没有任何魔力。你有几个选择
--out
编译器选项将所有文件连接成一个并缩小为了获得最佳性能,您应该查看优化器并确定单脚本方法是正确的决策还是多个较小的库是更好的方法。我怀疑加载每个.min.js文件对你来说是理想的解决方案。