首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >failOnError选项不适用于ts加载程序和webpack-dev-server

failOnError选项不适用于ts加载程序和webpack-dev-server
EN

Stack Overflow用户
提问于 2020-05-05 15:40:55
回答 1查看 1.7K关注 0票数 1

摘要

与webpack一起编译ts-loader.

问题

  • eslint-loader并没有停止编译,即使TS代码被重写,TS-加载程序错误是displayed.
  • ts-loader错误仍然是旧的。

操作步骤

1.启动开发服务器:yarn start = webpack-dev-server --mode development

package.json

代码语言:javascript
复制
{
  "name": "eslint-ts-loader-error",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "scripts": {
    "start": "webpack-dev-server --mode development",
    "build": "webpack --mode production"
  },
  "devDependencies": {
    "@typescript-eslint/eslint-plugin": "2.30.0",
    "@typescript-eslint/parser": "2.30.0",
    "babel-loader": "8.0.6",
    "eslint": "6.8.0",
    "eslint-loader": "4.0.2",
    "ts-loader": "6.2.2",
    "typescript": "3.8.3",
    "webpack": "4.33.0",
    "webpack-cli": "3.3.4",
    "webpack-dev-server": "3.7.1"
  }
}

webpack.config.js

代码语言:javascript
复制
const path = require('path');

module.exports = {
  entry: './src/main.ts',
  output: {
    path: path.resolve(__dirname, 'dist/'),
    filename: '[name].js',
  },
  module: {
    rules: [
      {
        test: /\.(ts|tsx)$/,
        exclude: /node_modules/,
        use: [
          {
            loader: 'ts-loader',
          },
        ],
      },
      {
        test: /\.(ts|tsx)$/,
        enforce: 'pre',
        exclude: /node_modules/,
        use: [
          {
            loader: 'eslint-loader',
            options: {
              failOnError: true,
            },
          },
        ],
      },
    ],
  },
};

2.编辑和保存.ts文件。

main.ts

代码语言:javascript
复制
const a: string = 100;
console.log(a);

->错误:ts-加载程序(如预期)

代码语言:javascript
复制
ts-loader: Type '100' is not assignable to type 'string'.

3.编辑和保存.ts文件。

代码语言:javascript
复制
const a: string = 100;
// console.log(a);

->错误:eslint-加载程序,ts-加载程序(意外)

代码语言:javascript
复制
eslint-loader: 'a' is assigned a value but never used  no-unused-vars
ts-loader: Type '100' is not assignable to type 'string'.

当eslint-中出现错误时,将停止编译过程,并且不显示ts-加载程序的错误。

4.编辑和保存.ts文件。

代码语言:javascript
复制
const a: boolean = 100;
// console.log(a);

->错误:eslint-加载程序,ts-加载程序(意外)

代码语言:javascript
复制
eslint-loader: 'a' is assigned a value but never used  no-unused-vars
ts-loader: Type '100' is not assignable to type 'string'.

加载程序错误不是最近的错误,而是旧的错误!

这是否证明处理不是由ts加载器决定的?

我不知道为什么会这样。

这是webpack开发服务器的问题,而不是弹性装载机的问题吗?

我需要有人帮我。

环境

v10.15.4

  • Node.js
  • macOS Catalina v12.16.2
  • npm v6.14.4
  • 纱v1.22.4
EN

回答 1

Stack Overflow用户

发布于 2020-05-13 12:51:05

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61617087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档