我有一个使用特定选项(即 mangle 顶级变量)运行 concat 和 uglify 的 Gruntfile,然后使用 sed 更新对 index.html 中缩小文件的引用。该解决方案有效,但由于 sed 的原因不太可维护。我试图使用 usemin 来代替,但我不知道如何使用 uglifyjs 的正确选项来定义我自己的自定义步骤,并且 doco 缺乏示例来做到这一点。我尝试使用我之前编写的相同的 uglify 任务:
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n',
mangle: {
except: ['$', 'd3'],
toplevel: true
}
},
build: {
src: 'demo/js/<%= pkg.name %>.js',
dest: 'demo/js/<%= pkg.name %>.min.js'
}
},
useminPrepare : {
html : 'src/index.html',
options: {
flow: {
steps: {'js' : ['uglify'] }
}
}
}
但我收到此错误:
警告:找不到模块“path-to-module\node_modules\grunt-usemin\lib\config\uglify”使用 --force 继续。
是否可以这样做,如果可以,我在这里做错了什么?
最佳答案
尝试在流程选项中将 uglify
替换为 uglifyjs
。
关于gruntjs - 使用定义自定义步骤选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19687544/