通过webpack生产模式编译时如何忽略打字稿错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过webpack生产模式编译时如何忽略打字稿错误相关的知识,希望对你有一定的参考价值。

环境

webpack 4.41.2

打字稿3.7.2

问题

当我通过webpack开发模式编译文件时,没有问题。但是,当我按生产模式进行编译时,会出现很多错误,因此无法编译。

目的地

找到了按生产模式编译webpack时如何忽略打字稿错误的方法

代码

▼webpack.config.js(js部分)

{
    mode: "development",
    entry: "./src/index.tsx",
    output: {
        path: `${__dirname}/dist`,
        filename: "index.js"
    },
    module: {
        rules: [
            {
                test: /.tsx?$/,
                use: "ts-loader"
            },
            {
                test: /.svg$/,
                loader: "react-svg-loader",
                options: {
                    svgo: {
                        plugins: [
                            { removeTitle: false }
                        ],
                        floatPrecision: 2
                    }
                }
            },
            {
                test: /.(vert|frag|glsl)$/,
                use: {
                    loader: 'webpack-glsl-loader'
                }
            }
        ]
    },
    resolve: {
        extensions: [".ts", ".tsx", ".js", ".json"]
    },
},

▼tsconfig

{
  "compilerOptions": {
    "sourceMap": false,
    "target": "es5",
    "module": "es2015",
    "jsx": "react",
    "moduleResolution": "node",
    "lib": [
      "es2019",
      "dom"
    ],
    "removeComments": true,
    "noUnusedLocals": false
  }
}

错误内容

ERROR in /var/www/hoge/src/index.tsx
[tsl] ERROR in /var/www/hoge/src/index.tsx(56,33)
      TS2322: Type '(page: any) => void' is not assignable to type 'void'.

ERROR in /var/www/hoge/src/about/index.tsx
[tsl] ERROR in /var/www/hoge/src/about/index.tsx(15,48)
      TS2339: Property 'appRef' does not exist on type 'About'.

ERROR in /var/www/hoge/src/gallery/index.tsx
[tsl] ERROR in /var/www/hoge/src/gallery/index.tsx(8,27)
      TS2307: Cannot find module './picturesData'.

ERROR in /var/www/hoge/src/gallery/index.tsx
[tsl] ERROR in /var/www/hoge/src/gallery/index.tsx(9,9)
      TS2529: Duplicate identifier 'Promise'. Compiler reserves name 'Promise' in top level scope of a module containing async functions.

...and other almost similar 40 errors

到目前为止我尝试过的>

・检查互联网上的类似贴子Ignore Typescript errors in Webpack-dev-serverHow to ignore typescript errors with webpack?但这对我没有帮助

・将此代码添加到tsconfig.js

"no-consecutive-blank-lines": false,
"no-unused-variable": false,

但出现错误“未知的编译器选项”

环境webpack 4.41.2打字稿3.7.2问题当我通过webpack开发模式编译文件时,没有问题。但是当我通过生产模式进行编译时,会出现很多错误,并且我可以'...

答案

在所有文件中添加// @ts-nocheck,并进行编译。 (我认为还有其他更好的方法)

以上是关于通过webpack生产模式编译时如何忽略打字稿错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Webpack 中禁用重命名函数名?打字稿,Javascript

使用角度,打字稿,webpack时如何将jquery添加到窗口对象

Vuejs 和 Webpack 5 Federation 打字稿错误

带有 vscode 的打字稿路径在 ctrl 单击时解析错误

错误:TS2345:使用打字稿编译时

模块导入忽略了打字稿`esModuleInterop`