[英]“Use the function form of ”use strict" when using Gulp + Babel + JsHint
[英]How to get rid of use-strict warning when using webpack and jshint-loader?
我有一个与jshint-loader关联的webpack项目,其定义如下:
postLoaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'jshint-loader'
}
],
当我运行webpack-dev-server时,我的所有文件都收到以下警告:
./js/main.js中的警告jshint导致错误使用“使用严格”功能形式。 @第1行char 1“使用严格”;
我尝试在jshint下的配置文件中使用"strict": false
选项,但没有帮助。
在文件中添加'use strict'
也无济于事。
我发现的唯一解决方案是在项目中的每个js文件中添加/*jshint globalstrict: true*/
。
有人在全球范围内有解决方案吗?
谢谢。
您可以创建一个名为.jshintrc的文件,该文件定义您希望jshint使用的全局设置。
这显示了文件https://github.com/jshint/jshint/blob/master/examples/.jshintrc的所有可能的设置
您只需创建一个.jshintrc并在其中而不是在每个js文件中设置globalstrict: true
。
jshint的配置部分位于: http ://jshint.com/docs/,如果需要,可获取更多信息。
事实并非如此简单。
我找到了使用eslint的绝佳解决方案。 这是示例项目: https : //github.com/kriasoft/react-starter-kit/
您必须将提示设置为使用"use strict";
jshint
"use strict";
全局到您的文件中,您可以使用jshint
选项进入webpack
配置文件。
webpack.config.js
文件将是:
module.exports = {
//...
module: {
//...
postLoaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'jshint-loader'
}
]
},
jshint: {
strict: "global" // <-- adding strict mode option as global
}
};
我只添加了globalstrict: true
就解决了这个问题globalstrict: true
就像@ AR7一样。
下一个问题已修复: https : //github.com/webpack/jshint-loader/issues/13
关于您在评论中的问题,您可以执行以下操作:
我决定将jshint配置放入package.json
,这是设置JSHint的另一种方式,这样可以更轻松地读取配置,但是如果您只想在其中创建一个新配置,例如jshint: { ... }
或从.jshint文件并将其转换为json。
问题是Webpack需要知道JSHint配置, 在这里检查他们如何设置jshint-loader
var path = require('path');
var pkg = require(path.resolve(__dirname, './package.json'));
....
module: {
preLoaders: [{
test: /\.js$/,
loaders: [
'jshint'
],
include: [
path.resolve(__dirname, 'src')
]
}]
},
jshint: pkg['jshintConfig'] // This is the actually fix
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.