使用 webpack 和 jshint-loader 时如何摆脱 use-strict 警告?
Posted
技术标签:
【中文标题】使用 webpack 和 jshint-loader 时如何摆脱 use-strict 警告?【英文标题】:How to get rid of use-strict warning when using webpack and jshint-loader? 【发布时间】:2015-05-13 09:31:11 【问题描述】:我有一个与 jshint-loader 连接的 webpack 项目,其定义如下:
postLoaders: [
test: /\.js$/,
exclude: /node_modules/,
loader: 'jshint-loader'
],
当我运行 webpack-dev-server 时,我的所有文件中都会收到以下警告:
./js/main.js 中的警告 jshint 导致错误 使用“use strict”的函数形式。 @ 第 1 行字符 1 “使用严格”;
我尝试在 jshint 下的配置文件中使用 "strict": false
选项,但没有帮助。
在文件中添加'use strict'
也没有帮助。
我找到的唯一解决方案是在我项目的每个 js 文件中添加 /*jshint globalstrict: true*/
...
有人在全球范围内有解决方案吗?
谢谢。
【问题讨论】:
【参考方案1】:您可以创建一个名为 .jshintrc 的文件,该文件定义您希望 jshint 使用的全局设置。
这显示了文件的所有可能设置 https://github.com/jshint/jshint/blob/master/examples/.jshintrc
您只需创建一个 .jshintrc 并在其中设置globalstrict: true
,而不是在每个 js 文件中。
这里的 jshint 配置部分:http://jshint.com/docs/ 有更多信息,如果您需要的话。
【讨论】:
我知道 .jshintrc 文件选项,我愿意使用这样的文件,但 webpacks 忽略了它。我需要以某种方式告诉 webpack。 github.com/webpack/jshint-loader/pull/8 这可能有你要找的东西。【参考方案2】:原来事情没那么简单。
我找到了一个很好的解决方案,而是使用 eslint。 这是示例项目:https://github.com/kriasoft/react-starter-kit/
【讨论】:
【参考方案3】:我只需添加globalstrict: true
就像@AR7 一样解决这个问题。
下一个问题已修复:https://github.com/webpack/jshint-loader/issues/13
关于你在评论中的问题,你可以这样做:
我决定将 jshint 配置放在 package.json
中,这是设置 JSHint 的另一种方式,这样更容易读取配置,但如果您只想在那里创建一个新配置,如 jshint: ...
或从 . jshint 文件并将其转换为 json。
问题是Webpack需要知道JSHint的配置check here how they setup the 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
【讨论】:
【参考方案4】:您必须将提示设置为jshint
,您在文件中使用"use strict";
全局,您可以在webpack
配置文件中使用jshint
options。
webpack.config.js
文件将是:
module.exports =
//...
module:
//...
postLoaders: [
test: /\.js$/,
exclude: /node_modules/,
loader: 'jshint-loader'
]
,
jshint:
strict: "global" // <-- adding strict mode option as global
;
【讨论】:
以上是关于使用 webpack 和 jshint-loader 时如何摆脱 use-strict 警告?的主要内容,如果未能解决你的问题,请参考以下文章
使用webpack---安装webpack和webpack-dev-server
使用 Webpack 2 和 extract-text-webpack-plugin
webpack优化篇(四十二): 使用高版本的 webpack 和 Node.js
webpack学习笔记 webpack-dev-server插件和HotModuleReplacementPlugin插件使用