gpt4 book ai didi

javascript - 在 grunt 中声明多个文件

转载 作者:行者123 更新时间:2023-11-28 07:39:23 24 4
gpt4 key购买 nike

我是 Grunt 新手,所以也许这是一个简单的问题,但我真的对此不知所措......

我想在“package.json”中声明我的所有文件,并在 grunt 中导入它们。像这样的事情:

// package.json
{
"config": {
"files": {
"css": ["../assets/css/main.scss", "../assets/css/plugins.scss"]
}
},
"dependencies": {
"grunt": "~0.4.5",
"grunt-contrib-sass": "~0.8.1"
}
}
// grunt.js
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
sass: {
dev: {
options: { style: 'compressed', noCache: true },
files: { '../assets/min/min.css': '<%= pkg.config.files.css %>' }
}
}
});
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.registerTask('default', ['sass:dev']);
};

我说源文件是空的。但如果我只声明一个文件,它就可以正常工作。

如果我直接在“grunt.js”中声明它们就可以了...

// grunt.js
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
sass: {
dev: {
options: { style: 'compressed', noCache: true },
files: { '../assets/min/min.css': ["../assets/css/main.scss", "../assets/css/plugins.scss"] }
}
}
});
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.registerTask('default', ['sass:dev']);
};

有人可以告诉我如何使第一个工作吗?

谢谢:)

最佳答案

问题是,通过将 pkg.config.files.css 粘贴到模板中,它可能会对其进行字符串化。尝试直接传递变量:

// Wrong
'<%= pkg.config.files.css %>'

// Right
pkg.config.files.css

这样,Grunt 将按照您的预期传递数组。

编辑:

如果这不起作用,here's an alternative way to access package.json.虽然上面是有效的 JS,但它可能对 Grunt 无效,因为如果 grunt.file.readJSON 异步运行,它将是 undefined 直到完成,这将是在grunt 已经初始化了配置对象。因此,grunt 返回并在数据可用时插入数据。

关于javascript - 在 grunt 中声明多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28239900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com