Webpack 网页第4页遇到的问题较少

Webpack 网页第4页遇到的问题较少,webpack,.net-core,less,extract-text-plugin,less-loader,Webpack,.net Core,Less,Extract Text Plugin,Less Loader,我不熟悉使用webpack,我只是想让它在一个新的空的.net核心web项目中处理typescript和更少的文件,并将相应的js和css文件输出到指定的文件夹 我已经设法让typescript正确工作使用可怕的typescript加载器。然而,我很难让更少的装载机正常工作 我一直在用webpack的。但是,它总是在生成输出中抛出以下错误: C:\workspace\fakeproject\node_modules\webpack\lib\Chunk.js:460 1> thro

我不熟悉使用webpack,我只是想让它在一个新的空的.net核心web项目中处理typescript和更少的文件,并将相应的js和css文件输出到指定的文件夹

我已经设法让typescript正确工作使用可怕的typescript加载器。然而,我很难让更少的装载机正常工作

我一直在用webpack的。但是,它总是在生成输出中抛出以下错误:

C:\workspace\fakeproject\node_modules\webpack\lib\Chunk.js:460
1>      throw new Error(
1>        ^
1>EXEC : error : Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead
这是我的package.json:

{
  "version": "1.0.0",
  "name": "asp.net",
  "private": true,
  "devDependencies": {
    "awesome-typescript-loader": "^5.0.0-0",
    "css-loader": "^0.28.10",
    "extract-text-webpack-plugin": "^3.0.2",
    "less-loader": "^4.0.6",
    "style-loader": "^0.20.2",
    "typescript": "^2.7.2",
    "webpack": "^4.1.0",
    "yarn": "^1.5.1"
  },
  "scripts": {
    "build:Debug": "webpack --config webpack.dev.config.js",
    "build:Release": "webpack --config webpack.prod.config.js"
  }
}
和我的webpack.dev.config.js:

"use strict"
{
    const path = require('path');
    const outputFolder = "wwwroot/dist/";

    const ExtractTextPlugin = require("extract-text-webpack-plugin");

    const extractLess = new ExtractTextPlugin({
        filename: "[name].[contenthash].css"
    });

    module.exports = {
        "mode": "development",
        "entry": {
            "styles": "./Styles/main.less",
            "scripts": "./Scripts/main.ts",
        },
        "output": {
            "path": path.resolve(__dirname, outputFolder),
            "filename": "[name].js",
        },
        "resolve": {
            "extensions": ['.ts', '.tsx', '.js']
        },
        "devtool": "source-map",
        "module": {
            "rules": [
                {
                    test: /\.less$/,
                    use: extractLess.extract({
                        use: [{
                            loader: "css-loader"
                        }, {
                            loader: "less-loader"
                        }],
                        fallback: "style-loader"
                    })
                },
                {
                    "test": /\.tsx?$/,
                    "loader": 'awesome-typescript-loader',
                    "exclude": /node_modules/,
                }
            ]
        },
        plugins: [
            extractLess
        ]
    };
}
我使用以下脚本在项目上设置了构建后事件:

npm run-script build:$(ConfigurationName)
我的main.less文件如下所示:

@light-green: #42f49e;

body {
    background-color: @light-green;
}

我是做错了什么还是使用了错误版本的依赖项?提前感谢您的帮助。

问题不在于您的代码。 Webpack刚刚更新到版本4,很多插件仍然落后。 突破性的变化或不大,所以这应该很快解决。在那之前,最好还是留在3.x上

不过,对于您的情况,已经有了一个支持Webpack4的ExtractTextWebpack插件版本。 您可以使用安装。
npm安装提取文本网页包-plugin@next问题不在于你的代码。 Webpack刚刚更新到版本4,很多插件仍然落后。 突破性的变化或不大,所以这应该很快解决。在那之前,最好还是留在3.x上

不过,对于您的情况,已经有了一个支持Webpack4的ExtractTextWebpack插件版本。 您可以使用安装。
npm安装提取文本网页包-plugin@next

您选择了一个不好的时间开始使用webpack。问题不在于你的代码。您正在使用的插件还不支持Webpack4。试着把webpack降级到3.x实际上,让我写一个合适的答案。如果你选择了一个不合适的时间开始使用webpack。问题不在于你的代码。您正在使用的插件还不支持Webpack4。试着把网页降级到3.x实际上,让我写一个合适的答案谢谢,我会很快尝试一下。降级似乎会导致另一个错误,并希望我为webpack cli安装另一个依赖项以执行脚本,然后在调整脚本以使用该依赖项后,我会遇到另一个错误。。。你说得对,似乎我选择了一个糟糕的时机开始使用这个工具webpack cli,它是在webpack 4中引入的。如果你跑得更低,你就不需要它了。此外,即使该软件包名为webpack cli,您仍然可以仅使用webpack运行它,这可能是出于兼容性考虑。因此,将my package.json中的extract text webpack插件的版本更改为next已经修复了该问题!非常感谢你。我想我应该等到下一个版本发布时再更改,以匹配新的特定版本,而不是将其保留在此状态是的,发布后应该更新版本。你可以在这里看到当前状态谢谢,我很快会尝试一下。降级似乎会导致另一个错误,并希望我为webpack cli安装另一个依赖项以执行脚本,然后在调整脚本以使用该依赖项后,我会遇到另一个错误。。。你说得对,似乎我选择了一个糟糕的时机开始使用这个工具webpack cli,它是在webpack 4中引入的。如果你跑得更低,你就不需要它了。此外,即使该软件包名为webpack cli,您仍然可以仅使用webpack运行它,这可能是出于兼容性考虑。因此,将my package.json中的extract text webpack插件的版本更改为next已经修复了该问题!非常感谢你。我想我应该等到下一个版本发布时再更改,以匹配新的特定版本,而不是将其保留在此状态是的,发布后应该更新版本。您可以在此处查看当前状态