有没有办法将常量导入 Gruntfile.js 文件?
Is there a way to import constants into a Gruntfile.js file?
我以前没有使用 grunt 的经验,但我的任务是查看是否有办法稍微修剪 gruntfile.js 文件(它们很大)。当我挑选它们时,我发现其中有 30% 的文件在每个文件中都定义了相同的常量(这些是我们环境特定事物的路径)。
我的第一个想法是可以将大块移动到一个公共文件中,每个 gruntfile.js 都可以从一个文件中导入所有这些路径,但我一直没找到办法它在线。有没有人有这方面的经验?
Gruntfile.js 是一个普通的 JavaScript 文件;您可以像在任何其他 JS 文件中一样将另一个文件中的变量导入其中。来自 MDN 文档 https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export:
In the module, we could use the following code:
// module "my-module.js"
function cube(x) {
return x * x * x;
}
const foo = Math.PI + Math.SQRT2;
var graph = {
options:{
color:'white',
thickness:'2px'
},
draw: function(){
console.log('From graph draw function');
}
}
export { cube, foo, graph };
This way, in another script, we could have:
import { cube, foo, graph } from 'my-module';
graph.options = {
color:'blue',
thickness:'3px'
};
graph.draw();
console.log(cube(3)); // 27
console.log(foo); // 4.555806215962888
您可以在单独的模块或 JSON 文件中定义所有常量,然后 require()
稍后定义。
constants.js
:
module.exports = {
constant1: 'abc',
constant2: 1234
}
然后在你的 gruntfile.js
:
const constants = require('./constants')
constants.constant1 === 'abc' // true
您还可以在 JSON 文件中定义常量
constants.json
{
"constant1": "abc",
"constant2": 1234,
}
和require()
一样,const constants = require('./constants')
我以前没有使用 grunt 的经验,但我的任务是查看是否有办法稍微修剪 gruntfile.js 文件(它们很大)。当我挑选它们时,我发现其中有 30% 的文件在每个文件中都定义了相同的常量(这些是我们环境特定事物的路径)。
我的第一个想法是可以将大块移动到一个公共文件中,每个 gruntfile.js 都可以从一个文件中导入所有这些路径,但我一直没找到办法它在线。有没有人有这方面的经验?
Gruntfile.js 是一个普通的 JavaScript 文件;您可以像在任何其他 JS 文件中一样将另一个文件中的变量导入其中。来自 MDN 文档 https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export:
In the module, we could use the following code:
// module "my-module.js"
function cube(x) {
return x * x * x;
}
const foo = Math.PI + Math.SQRT2;
var graph = {
options:{
color:'white',
thickness:'2px'
},
draw: function(){
console.log('From graph draw function');
}
}
export { cube, foo, graph };
This way, in another script, we could have:
import { cube, foo, graph } from 'my-module';
graph.options = {
color:'blue',
thickness:'3px'
};
graph.draw();
console.log(cube(3)); // 27
console.log(foo); // 4.555806215962888
您可以在单独的模块或 JSON 文件中定义所有常量,然后 require()
稍后定义。
constants.js
:
module.exports = {
constant1: 'abc',
constant2: 1234
}
然后在你的 gruntfile.js
:
const constants = require('./constants')
constants.constant1 === 'abc' // true
您还可以在 JSON 文件中定义常量
constants.json
{
"constant1": "abc",
"constant2": 1234,
}
和require()
一样,const constants = require('./constants')