所以我得到了这个配置文件:
exports.files = {
javascripts: {
joinTo: {
'vendor.js': /^(?!app)/, // Files that are not in `app` dir.
'app.js': /^app/
}
},
stylesheets: {joinTo: 'app.css'}
};
exports.plugins = {
babel: {presets: ['latest']}
};
exports.npm = {
styles: {
bootstrap: ['dist/css/bootstrap.css']
}
}
当触发上面的代码时,5个文件被构建并编译成3个,如预期的那样。
然后为了更好地理解,我将配置文件中的首次导出更改为:
module.exports = {
files: {
javascripts: {
joinTo: {
'vendor.js': /^(?!app)/,
'app.js': /^app/
}
},
stylesheets: {joinTo: 'app.css'}
}
}
exports.plugins = {
babel: {presets: ['latest']}
};
exports.npm = {
styles: {
bootstrap: ['dist/css/bootstrap.css']
}
}
现在,引导代码无法编译到最终的样式表中。为什么我会遇到这种行为?
答案 0 :(得分:1)
这个问题与Brunch没有直接关系,而是更多节点如何处理导出问题。查看从node docs:
中获取的解释导出变量在模块的文件级范围内可用, 并在模块之前分配module.exports的值 评价。
它允许使用快捷方式以便可以写入
module.exports.f = ...
更为简洁exports.f = ...
然而,要注意像任何一样 变量,如果为exports
分配了新值,则不再绑定 到module.exports
:
module.exports.hello = true; // Exported from require of module
exports = { hello: false }; // Not exported, only available in the module