运行npm命令时,chunk.sortModules不是函数

时间:2020-08-27 02:29:40

标签: javascript node.js laravel npm webpack

我只需要恢复一个旧项目即可对其进行修改。 我做了dict1 = {'key1' : 'val1', 'key2' : ''} dict2 = {'key1' : 'val1', 'key2' : 'val2'} dict3 = {k: v if v else dict2.get(k, v) for k, v in dict1.items() } print(dict3) #--> {'key1': 'val1', 'key2': 'val2'} 就是现在正在生产中运行的标签,所以我不知道为什么不起作用。

我将代码下载到PC上,git checkout 0.0.2 rm -rf node_modules package-lock.json 但是我在做的时候遇到了这个错误

npm install

或任何其他npm运行命令

npm run dev

这是我的package.json

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

TypeError: chunk.sortModules is not a function

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

仅此 webpack.mix.js

{
    "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"
    }
}

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

我认为我应该只修改一个库,但我不知道哪个库

2 个答案:

答案 0 :(得分:1)

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

解决方案1 ​​:(工作)

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

将您的lavaler-mix版本锁定在package.json中。请注意我如何删除插入符号(^)。然后,您可以在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配置才能使其正常工作。

答案 1 :(得分:0)

您的"laravel-mix"版本非常低。

尝试安装最新版本,看看它是否可以解决您的问题。

npm install laravel-mix@latest -D
相关问题