私はこの指示 https://webpack.js.org/loaders/jshint-loader/ に従ってエラーを取得しようとしています:
私の設定ファイル:
const path = require('path');
module.exports = {
entry: {
app: './index.js'
},
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [
{
test: /\.js$/, // include .js files
enforce: "pre", // preload the jshint loader
exclude: /node_modules/, // exclude any and all files in the node_modules folder
use: [
{
loader: "jshint-loader"
}
]
}
]
},
// more options in the optional jshint object
jshint: {
// any jshint option http://www.jshint.com/docs/options/
// i. e.
camelcase: true,
// jshint errors are displayed by default as warnings
// set emitErrors to true to display them as errors
emitErrors: false,
// jshint to not interrupt the compilation
// if you want any file with jshint errors to fail
// set failOnHint to true
failOnHint: false,
// custom reporter function
reporter: function(errors) { }
}
};
エラーテキスト:
無効な構成オブジェクト。 Webpackは、APIスキーマと一致しない構成オブジェクトを使用して初期化されています。 -構成に不明なプロパティ「jshint」があります。これらのプロパティは有効です:object {amd?、bail?、cache?、context?、dependencies?、devServer?、devtool?、entry、externals?、loader?、module?、name?、node?、output?、performance? 、プラグイン?、プロファイル?、recordsInputPath?、recordsOutputPath?、recordsPath?、resolve?、resolveLoader?、stats?、target?、watch?、watchOptions? }タイプミスの場合:修正してください。ローダーオプションの場合:webpack 2では、構成でカスタムプロパティが許可されなくなりました。
彼らのウェブサイトの指示は、実際には機能していないため、古くなっているようです。これについては Github で未解決の問題があります。
この設定は機能するはずです:
const path = require('path');
module.exports = {
entry: {
app: './index.js'
},
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [{
test: /\.js$/, // include .js files
enforce: "pre", // preload the jshint loader
exclude: /node_modules/, // exclude any and all files in the node_modules folder
use: [{
loader: "jshint-loader",
// more options in the optional jshint object
options: { // ⬅ formally jshint property
camelcase: true,
emitErrors: false,
failOnHint: false
}
}]
}]
},
};
私のために働いた唯一のことは、jshint-loaderのファイルを手動で変更することでした。
変更後、関数は次のようになります。
function jsHint(input、options){ //所有するオブジェクトにオプションをコピーします if(options.jshint){ for(var this.options.jshintの名前){ options [name] = this.options.jshint [name]; } } //関数がオンになります... }