我有一个与jshint-loader连接的webpack项目,其定义如下:
postLoaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'jshint-loader'
}
],
当我运行webpack-dev-server时,我在所有文件中都收到以下警告:
>警告在./js/main.js中 jshint导致错误 使用"使用strict"的函数形式。 @ line 1 char 1 "使用严格的&#34 ;;
我尝试在jshint下的配置文件中使用"strict": false
选项,但它没有帮助。
在文件中添加'use strict'
也无济于事。
我找到的唯一解决方案是在我的项目中的每个js文件中添加/*jshint globalstrict: true*/
...
有人在全球范围内有解决方案吗?
感谢。
答案 0 :(得分:2)
您可以创建一个名为.jshintrc的文件,该文件定义了您希望jshint使用的全局设置。
显示文件的所有可能设置 https://github.com/jshint/jshint/blob/master/examples/.jshintrc
您只需创建一个.jshintrc并在其中设置globalstrict: true
,而不是在每个js文件中。
jshint的配置部分:http://jshint.com/docs/如果需要,可以提供更多信息。
答案 1 :(得分:1)
事实证明并非如此简单。
我发现使用eslint的解决方案很棒。 以下是示例项目:https://github.com/kriasoft/react-starter-kit/
答案 2 :(得分:1)
您必须将jshint
全局使用"use strict";
提示设置到您的文件中,您可以将jshint
options用于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
}
};
答案 3 :(得分:0)
我解决了这个问题,只需添加像@ AR7这样的globalstrict: true
。
修复了下一个问题:https://github.com/webpack/jshint-loader/issues/13
关于评论中的问题,您可以执行以下操作:
我决定将jshint配置放在package.json
中,这是设置JSHint的另一种方式,这样就可以更容易地读取配置,但是如果你想创建一个新配置,那就像{{ 1}}或从.jshint文件中读取并将其转换为json。
问题是Webpack需要知道JSHint配置check here how they setup the jshint-loader
jshint: { ... }