繁体   English   中英

使用webpack和jshint-loader时如何摆脱使用限制警告?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM