问题描述
更新,2012 年 1 月 9 日:
起初,我以为是模板文字中的单引号引起的:
replyTo: `'MTN Support' <${functions.config().supportgmail.email}>`
但现在,已确认 grunt-contrib-uglify
甚至不支持普通模板文字:
throw new Error(`UnkNown sender email address: ${mailOptions.from.address}.`);
同样的错误:
Warning: Uglification Failed.
Unexpected token: name «sender»,expected: punc «,».
Line 90 in functions/app-functions.js,functions/index.js,functions/viewer-functions.js,functions/site-functions.js
Use --force to continue.
请注意,即使是单独的 uglify-js
也无法解析此内容。我也知道 GitHub 上的 harmony
or uglify-js-es6
version,但由于这是用于生产部署目的,我不敢使用它,因为它自 4 年前就没有更新过。
那么是否确认 grunt-contrib-uglify v5.0.0
仍然不支持 ES6 Template Literals?不将模板文字更改为传统的 +
字符串连接的任何其他解决方法或替代方法?谢谢!
原始问题:
我有以下 Gruntfile.js:
module.exports = function (grunt) {
grunt.initConfig({
// define source files and their destinations
uglify: {
files: {
src: 'functions/*.js',// source files mask
dest: '../project-staging/functions/' // destination folder
}
}
});
// load plugins
grunt.loadNpmtasks('grunt-contrib-uglify');
// register at least this one task
grunt.registerTask('default',['uglify']);
};
当我在命令行运行 grunt
时,我遇到了这个错误:
Warning: Uglification Failed.
Unexpected token: string «MTN Support»,».
Line 44 in functions/app-functions.js,functions/site-functions.js
Use --force to continue.
Aborted due to warnings.
var mailOptions = {
from: functions.config().supportgmail.email,to: null,cc: null,bcc: null,// This is the line that causes the error:
replyTo: `'MTN Support' <${functions.config().supportgmail.email}>`,subject: null,text: null,html: null
};
我不知道错误意味着什么,因为我在运行代码时没有任何错误,除非我尝试使用 Grunt 对其进行丑化。我还听说最新版本的 grunt-contrib-uglify
已经支持 ES6,那还能是什么呢?下面是我今天刚安装的 Grunt 和插件的版本:
"devDependencies": {
"grunt": "^1.3.0","grunt-contrib-uglify": "^5.0.0"
}
有人知道我的代码有什么问题吗?我认为使用 +
将我的代码更改为旧的字符串连接方式没有意义,因为模板字符串在我的整个项目中无处不在。提前致谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)