首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Webpack 2升级到Webpack 4--如何用错误构建

从Webpack 2升级到Webpack 4--如何用错误构建
EN

Stack Overflow用户
提问于 2021-02-19 03:09:57
回答 1查看 126关注 0票数 1

我有一个超级老项目,我想把它从Webpack 2升级到Webpack 4。即使使用npm run build 2,我在做\dist时也会出现构建错误,但它们并没有阻止我在\dist文件夹中生成生成输出。

当我转移到Webpack 4,我继续看到同样的构建错误,但已构建的输出不再填充。我得到的错误是我不想真正修正的错误,我只是想让Webpack 4产生一些输出。

下面是我的package.json依赖关系:

代码语言:javascript
复制
"devDependencies": {
    "@types/prop-types": "^15.7.2",
    "@types/react": "^15.6.27",
    "@types/react-dom": "^15.5.10",
    "awesome-typescript-loader": "^5.2.1",
    "css-loader": "^5.0.1",
    "file-loader": "^0.11.1",
    "fs": "0.0.1-security",
    "jasmine-core": "^2.99.1",
    "jquery": "^3.5.1",
    "prop-types": "^15.7.2",
    "react": "^15.5.4",
    "react-dom": "^15.5.4",
    "react-redux": "^5.1.1",
    "react-tap-event-plugin": "^2.0.1",
    "redux": "^3.7.2",
    "redux-logger": "^3.0.6",
    "redux-middleware": "^0.1.21",
    "redux-thunk": "^2.3.0",
    "resolve-url-loader": "^2.3.2",
    "semantic-ui-react": "^0.77.1",
    "source-map-loader": "^0.2.4",
    "typescript": "^4.1.3",
    "webpack": "^4.44.1",
    "webpack-cli": "^3.3.9",
    "webpack-dev-server": "^3.8.1"
  },

tsconfig.json

代码语言:javascript
复制
{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "sourceMap": true,
    "jsx": "react",
    "outDir": "./dist",
    "lib": [
        "dom",
        "es5",
        "es2015",
        "es2015.promise"
    ]
  },
  "exclude": [
    "node_modules"
  ]
}

和我的module.exportswebpack.config.js

代码语言:javascript
复制
module.exports = {
    context: projectBaseDir,

    devtool: 'source-map',

    entry: {
        'LoadingApi.web': ['src/loading/loading.js', 'Old/loading.ts'],
    },

    output: {
        path: path.resolve('./dist'),
        filename: '[name].js',
        sourceMapFilename: '[name].map'
    },

    resolve: {
        extensions: ['.css', '.scss', '.ts', '.tsx', '.js', '.jsx'],
        modules: [
            path.resolve('./Javascript'),
            nodePath
        ]
    },

    module: {
        rules: [
            {
                enforce: 'post',
                test: /\.tsx?$/,
                loader: "awesome-typescript-loader",
                options: {
                    failonError: false,
                },
                exclude: /node_modules/
            },

            {
                enforce: "pre",
                test: /\.js$/,
                loader: "source-map-loader",
                options: {
                    failonError: false,
                },
                exclude: /node_modules/
            }
        ]
    }
}

我试图弄清楚,我需要调整什么与Webpack 4,以便有输出文件,因为我过去和Webpack 2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-19 03:42:28

我不知道到底是什么导致了这个问题,但我注意到,您正在使用的太棒了-打字稿-装载机不再被维护,并且声称只支持Webpack 2。

对于最新的设置,最好使用T-装载机 (或者交替使用带有预置打字本的babel装载机)。如果您希望它在类型错误的情况下生成,请使用transpileOnly选项。如果希望以任何方式发出错误,但不导致生成失败,请另外使用分叉-检查器-webpack-插件

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

https://stackoverflow.com/questions/66271250

复制
相关文章

相似问题

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