我在前端和我的笨拙任务中需要一个小配置文件。
js / config.js:
define(function() {
return [
{
id: 'demo',
displayName: 'Demo'
}
];
});
我可以在前端加载文件而不会出现问题,它也可以在节点中运行。 var requirejs = require('requirejs');
requirejs.config({
nodeRequire: require,
baseUrl: './js'
});
var config = requirejs('config')
但是当我尝试在grunt任务中加载相同的文件时,它返回undefined:
requirejs.config({
nodeRequire: require,
baseUrl: './js'
});
grunt.registerTask('lala', function () {
var config = requirejs('config')
});
答案 0 :(得分:1)
问题在于我需要在module.exports
函数之外的requireJs。所以这毕竟有用:
module.exports = function(grunt) {
var requirejs = require('requirejs');
requirejs.config({
nodeRequire: require,
baseUrl: './js/cfe/app/platforms/as'
});
grunt.registerTask('lala', function () {
var config = requirejs('config')
});
}
答案 1 :(得分:0)
此代码适用于我。首先我安装了requirejs:
cd /path/to/code/directory
npm install requirejs
然后在我的app.js中:
var requirejs = require('requirejs');
requirejs.config({
nodeRequire: require,
baseUrl: './js'
});
var config = requirejs('config');
console.log(config);
在js / config.js中:
define(function() {
return [
{
id: 'demo',
displayName: 'Demo'
}
];
});
当我运行它时,我得到了正确的结果:
$ node app.js
[ { id: 'demo', displayName: 'Demo' } ]
我正在使用Node v0.10.1。