【问题标题】:chunk.sortModules is not a function when running npm command运行 npm 命令时,chunk.sortModules 不是函数
【发布时间】:2020-12-15 21:08:49
【问题描述】:

我只需要恢复一个旧项目即可对其进行修改。 我做了git checkout 0.0.2 那是现在在生产中运行的标签,所以我不知道为什么不起作用。

我把代码下载到我的电脑上做了rm -rf node_modules package-lock.json npm install 但是我在做的时候遇到了这个错误

npm run dev

或任何其他 npm 运行命令

/node_modules/laravel-mix/node_modules/extract-text-webpack-plugin/dist/index.js:188
            chunk.sortModules();
                  ^

TypeError: chunk.sortModules is not a function

这是我的 package.json

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "babel-preset-react": "^6.23.0",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "eslint": "^4.19.1",
        "jquery": "^3.2",
        "laravel-mix": "^2.0",
        "lodash": "^4.17.4",
        "popper.js": "^1.12",
        "react": "^16.2.0",
        "react-dom": "^16.2.0"
    },
    "dependencies": {
        "flickity": "^2.2.0",
        "proptypes": "^1.1.0",
        "react-read-more-less": "^0.1.6",
        "react-spinners": "^0.5.4",
        "wow.js": "^1.2.2"
    }
}

我没有任何 webpack.config.js 文件

只有这个 webpack.mix.js

let mix = require('laravel-mix');

/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel application. By default, we are compiling the Sass
 | file for the application as well as bundling up all the JS files.
 |
 */

mix.autoload({
    jquery: ['$', 'window.jQuery', 'jQuery', 'window.$', 'jquery', 'window.jquery']
});

mix.react('resources/assets/js/app.js', 'public/js');

节点版本:v8.4.0 NPM 版本:5.3.0

我想我应该只修改一个库,但我不知道是哪个

【问题讨论】:

    标签: javascript node.js laravel npm webpack


    【解决方案1】:

    您的"laravel-mix" 版本很低。

    尝试安装最新版本,看看能否解决您的问题。

    npm install laravel-mix@latest -D
    

    【讨论】:

      【解决方案2】:

      我能够利用您提供的文件在本地重新创建您的问题

      解决方案 1:(有效)

      假设您希望使用同一版本的 lavarel-mix 以避免生产中的任何构建错误

      在 package.json 中锁定您的 lavaler-mix 版本。请注意我是如何删除插入符号 (^) 的。然后,您可以在 package.json 文件中进行以下编辑后执行rm -rf node_modules package-lock.json; npm install

      "laravel-mix": "2.0"
      

      解决方案 2(不起作用):

      假设您不关心 lavarel 版本的兼容性。

      安装您觉得满意的最新版本

      npm install laravel-mix@latest -D
      

      使用上面的示例文件进行测试时,会出现以下错误

      Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
      

      注意:解决方案 2 可以工作,但您很可能需要更新 webpack.mix.js 配置以使其工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-01
        • 2023-02-14
        • 2021-10-05
        • 2017-08-20
        • 2023-04-03
        • 1970-01-01
        • 2017-10-25
        相关资源
        最近更新 更多