我有一个小的配置文件,我需要在前端和我的grunt任务。
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任务中加载相同的文件时,它返回未定义:
requirejs.config({
nodeRequire: require,
baseUrl: './js'
});
grunt.registerTask('lala', function () {
var config = requirejs('config')
});
问题是I需要module.exports
函数之外的requires。所以这是有效的:
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')
});
}
这段代码适合我。首先,我已经安装了需求:
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