, когда я хочу сжать свой код javascript с помощью grunt и uglify js, но uglify js не поддерживает es6, поэтому я использую grunt-babel, но я встретил некоторые надежные аргументы Binding ', предупреждающие в строгом режиме, поэтому я пишу несколько простых тестов кода. В этом файле аргументы - это просто обычная локальная переменная, не вызывается (аргументы) или не применяется , я не понимаю, как это произошло и как это исправить. Вот пример кода:
'use strict';
let a = 1;
async function test() {
return new Promise(resolve, reject => {
let b = 1;
let c = a + b;
resolve(c);
})
}
function no(arguments) {
console.log(arguments);
}
затем gruntfile. js
module.exports = function(grunt) {
require("load-grunt-tasks")(grunt);
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
clean: {
src: 'dist/'
},
copy: {
main: {
expand: true,
cwd: 'test',
src: '**',
dest: 'dist/',
},
},
babel: {
options: {
sourceMap: false,
presets: ["@babel/preset-env"],
ignore: ["/node_modules","./resources/vendor/**"],
plugins: [
"@babel/plugin-transform-runtime",
["@babel/plugin-transform-modules-commonjs", { "strictMode": false }]
]
},
dist: {
files: [{
expand:true,
cwd:'test/',
src:['**/*.js'],
dest:'dist/'
}]
}
},
uglify: {
options: {
mangle: true,
comments: 'some'
},
my_target: {
files: [{
expand:true,
cwd:'dist/',
src:['**/*.js'],
dest:'dist/'
}]
}
}
});
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-babel');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-usemin');
grunt.registerTask('default', ['clean','copy','babel','uglify']);
}
затем извините grunt консольный журнал
Warning: F:\project\grunttest\test\test.js: Binding 'arguments' in strict mode (11:12)
Я пытался настроить параметры babel ["@babel/plugin-transform-modules-commonjs", { "strictMode": false }]
, но это не работает, как я могу это исправить? спасибо