[英]node-config Error [ERR_REQUIRE_ESM]: Must use import to load ES Module /default.js
[英]SailsJs add custom task in default.js
我正在嘗試在salsjs應用程序中添加自定義任務。
到目前為止,這是我所做的:
我的cssminTemplates.js基本上是cssmin.js標准文件的副本:
module.exports = function(grunt) {
grunt.config.set('cssminTemplates', {
dist: {
src: ['asset/templates/above_the_fold.css'],
dest: 'asset/templates/above_the_fold.min.css'
}
});
grunt.loadNpmTasks('grunt-contrib-cssmin');
};
default.js文件修改如下:
module.exports = function (grunt) {
grunt.registerTask('default', [
'compileAssets',
'linkAssets',
'cssminTemplates',
'watch']);
};
但是,當我用sails lift命令啟動應用程序時,出現了以下錯誤:
Warning: Task "cssminTemplates" not found.
我嘗試將“ cssminTemplates”更改為“ cssmin”,但沒有任何錯誤。
在Grunt.js
( REF ), cssminTemplates
函數被調用,而不是cssmin
經由加載grunt.loadNpmTasks('grunt-contrib-cssmin');
。 這是調用函數的地方:
function invokeConfigFn(tasks) {
for (var taskName in tasks) {
if (tasks.hasOwnProperty(taskName)) {
// Invoking the function....
tasks[taskName](grunt);
}
}
}
換句話說,您正在設置函數( cssminTemplates
)並從Grunt.js
調用它,但是Grunt通過loadNpmTasks()
加載了cssmin
。 我認為這就是設置cssminTemplates
不起作用的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.