gpt4 book ai didi

typescript - 带有 webpack 2.1.0-beta.25 的 tslint-loader

转载 作者:搜寻专家 更新时间:2023-10-30 20:31:45 24 4
gpt4 key购买 nike

我有一个使用 webpack 压缩/编译的 angular2 项目。

我在 webpack 中使用 tslink loader,所以我在 webpack.config.js 中有 tslint 相关配置。

module.exports = {
...
tslint: {
configuration: {
rules: {
quotemark: [true, "double"]
}
},

// tslint errors are displayed by default as warnings
// set emitErrors to true to display them as errors
emitErrors: false,

// tslint does not interrupt the compilation by default
// if you want any file with tslint errors to fail
// set failOnHint to true
failOnHint: true,

// name of your formatter (optional)
formatter: "",

// path to directory containing formatter (optional)
formattersDirectory: "node_modules/tslint-loader/formatters/",

// These options are useful if you want to save output to files
// for your continuous integration server
fileOutput: {
// The directory where each file"s report is saved
dir: "./webpack-log/",

// The extension to use for each report"s filename. Defaults to "txt"
ext: "xml",

// If true, all files are removed from the report directory at the beginning of run
clean: true,

// A string to include at the top of every report file.
// Useful for some report formats.
header: "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<checkstyle version=\"5.7\">",

// A string to include at the bottom of every report file.
// Useful for some report formats.
footer: "</checkstyle>"
}
},
...
preLoaders: [
{
test: /\.ts$/,
loader: "tslint"
}
],
}
}

我将 webpack 1.13.1 更新到 2.1.0-beta.25 并且 tslint 配置打破了 npm run build 的复杂过程。

我将 preLoaders 指令更改为 loaders

module: {
....
{
test: /\.ts$/,
loader: 'tslint',
exclude: /(node_modules)/,
enforce: 'pre'
},
],
}

这还不够,因为我仍然得到错误

For loader options: webpack 2 no longer allows custom properties in configuration.
Loaders should be updated to allow passing options via loader options in module.rules.

所以我应该移动 tslint 配置并将其放在其他地方。有点迷路了。因此,我们将不胜感激有关此问题的任何信息。

谢谢!

最佳答案

对于在 webpack 2 中遇到预加载器问题的其他人。在 beta v2.1-beta.23 中,pre/postLoaders 有重大变化。

首先,“loaders”部分应该重命名为“rules”。 pre/postLoaders 现在也根据规则定义。

在我的例子中,我使用 tslint 作为预加载器。要将 pre/postLoader 添加到规则中,请添加值为 prepostenforce 属性。

module: {
rules: [
{
enforce: 'pre',
test: /\.tsx?$/,
loader: 'tslint',
exclude: /(node_modules)/,
},
{
test: /\.tsx?$/,
loaders: ['awesome-typescript-loader'],
exclude: /(node_modules)/
}
]
}

github 上发布的更多信息:Webpack v2.1.0-beta.23

在发布信息中还有一个指向 pull request 的链接这显示了在 webpack 配置文件中从 v2.1.0-beta.22v2.1.0-beta.23 所需的更改。在那里您可以看到您还需要 LoaderOptionsPlugin。

plugins: [
new webpack.LoaderOptionsPlugin({
options: {
tslint: {
emitErrors: true,
failOnHint: true
}
}
})
]

关于typescript - 带有 webpack 2.1.0-beta.25 的 tslint-loader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39919793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com