【发布时间】:2014-07-08 12:20:52
【问题描述】:
使用grunt,我可以使用命令grunt bower(由grunt-bower-requirejs 提供)为我的本地bower 组件自动生成RequireJS 配置文件。
gulp 有没有插件可以执行类似的任务?
【问题讨论】:
标签: javascript requirejs gruntjs bower gulp
使用grunt,我可以使用命令grunt bower(由grunt-bower-requirejs 提供)为我的本地bower 组件自动生成RequireJS 配置文件。
gulp 有没有插件可以执行类似的任务?
【问题讨论】:
标签: javascript requirejs gruntjs bower gulp
更新:对于未来的读者,请查看@user2326971的正确答案
通过直接将gulp与节点模块bower-requirejs挂钩来解决它
npm install bower-requirejs --save-dev
在gulpfile.js
var bowerRequireJS = require('bower-requirejs');
gulp.task('bower', function() {
var options = {
baseUrl: 'src',
config: 'src/app/require.config.js',
transitive: true
};
bowerRequireJS(options, function (rjsConfigFromBower) {
console.log("Updated src/app/require.config.js !");
});
});
【讨论】:
请注意 bowerRequireJS 是一个异步函数。因此,您需要使用回调(或同步返回 Promise)将该任务标记为异步,如下所示:
gulp.task('bower', function(callback) {
var options = {
baseUrl: 'src',
config: 'src/app/require.config.js',
transitive: true
};
bowerRequireJS(options, function (rjsConfigFromBower) {
callback();
});
});
【讨论】:
baseUrl到底是什么,config下指定的路径是什么?
baseUrl 描述为“所有依赖项都相对的路径”。 config 路径指向您的 JS 文件,其中包含 requirejs.config() 声明。