我正在使用require JS。 我想把两个文件合二为一。 我正在使用那个需要js插件的grunt。 第一个文件是raty jquery script。
其次是我自己的文件:
define('userGlosowanie', ['jquery', 'raty'], function ($) {
'use strict';
return {
init: function () {
}
}
});
这是我的咕噜剧本:
requirejs: {
userGlosowanie: {
options: {
baseUrl: "js/libs",
paths: {
userGlosowanie: "../dev/uzytkownik-glosowanie",
raty: "raty/jquery.raty",
},
name: "userGlosowanie",
out: "js/build/uzytkownik.min.js",
preserveLicenseComments: false,
}
},
},
问题是我有错误:
Running "requirejs:user" (requirejs) task
>> Error: ENOENT, no such file or directory
>> 'D:\strony\www\polskieszlaki\js\libs\jquery.js'
>> In module tree:
>> user
Warning: RequireJS failed. Use --force to continue.
我的jquery文件位于单独的文件中,我不想将其包含在编译文件中。怎么做?
答案 0 :(得分:1)
如果您不想在构建文件中包含jquery
,请在路径配置中将其标记为empty:
。
options: {
paths: {
userGlosowanie: "../dev/uzytkownik-glosowanie",
raty: "raty/jquery.raty",
jquery: "empty:"
}
}
答案 1 :(得分:0)
您可以使用exclude
选项排除特定模块/文件包含在合并/优化文件中
在你的情况下,它看起来像 -
requirejs: {
userGlosowanie: {
options: {
baseUrl: "js/libs",
paths: {
userGlosowanie: "../dev/uzytkownik-glosowanie",
raty: "raty/jquery.raty",
},
out: "js/build/uzytkownik.min.js",
name: "userGlosowanie",
exclude: "jquery"
preserveLicenseComments: false,
}
}
}
使用modules
和dir
(输出目录)选项,您可能无法设置输出文件名,但与模块同名的optmized文件将放在目录集中通过选项dir
requirejs: {
userGlosowanie: {
options: {
baseUrl: "js/libs",
paths: {
userGlosowanie: "../dev/uzytkownik-glosowanie",
raty: "raty/jquery.raty",
},
dir: "../public",
modules : [{
name: "userGlosowanie",
exclude: "jquery"
}],
preserveLicenseComments: false,
}
}
}
示例用法/说明是here