我的node_modules中没有webpack.mix.js

There is no webpack.mix.js in my node_modules

提问人:COBNETCKNN 提问时间:2/4/2021 更新时间:2/5/2021 访问量:8447

问:

通过终端安装 laravel mix 并运行命令 cp node_modules/laravel-mix/setup/webpack.mix 后.js ./ 我收到此错误。

cp : Cannot find path 'C:\Users\COBNETCKNN\Local Sites\portofolio\app\p
ublic\wp-content\themes\wp-portofolio\node_modules\laravel-mix\setup\we 
At line:1 char:1
+ cp node_modules/laravel-mix/setup/webpack.mix.js ./
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Users\COBNET...\webp  
   ack.mix.js:String) [Copy-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Comman  
   ds.CopyItemCommand

我也看了看里面,没有,所以我不能从那里拉出来,目录是变了还是发生了什么?我可以从以前的项目中复制并根据需要进行修改吗?node_modules/laravel-mix/setup/webpack.mix.jswebpack.mix.js

npm webpack 节点模块 laravel-mix

评论


答:

-1赞 COBNETCKNN 2/4/2021 #1

设法通过降低 Laravel Mix 的版本来解决它,看起来在最新版本中,您在安装 laravel mix 后node_modules中没有得到 webpack.mix.js这是团队应该解决的问题......因此,解决方案是在package.json文件中复制下面的这些依赖项

"devDependencies": {
    "autoprefixer": "^9.8.6",
    "browser-sync": "^2.26.13",
    "browser-sync-webpack-plugin": "^2.0.1",
    "cross-env": "^7.0.3",
    "laravel-mix": "^5.0.9",
    "postcss": "^7.0.35",
    "sass": "^1.30.0",
    "sass-loader": "^8.0.2",
    "tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.0.1",
    "vue-template-compiler": "^2.6.12"
  },
  "dependencies": {
    "@fortawesome/fontawesome-free": "^5.15.1"
  }

这是来自我的旧项目package.json文件,设置完成后,您只需再次安装laravel mix,然后运行它将从您的node_modules中提取npm install laravel-mix --save-devcp node_modules/laravel-mix/setup/webpack.mix.js ./webpack.mix.js

评论

1赞 Karl Hill 2/8/2021
webpack.mix.js 不应该在 /node-modules 中。您需要在项目根目录中创建它。
0赞 bart 12/20/2022
@KarlHill 如何创建?
1赞 Karl Hill 12/20/2022
Laravel 版本 8 是最后一个使用它的版本,因此您可以从这里获取套件:github.com/laravel/laravel/blob/8.x/webpack.mix.js
2赞 Karl Hill 2/5/2021 #2

对于非 Laravel 独立项目,您应该执行以下操作。

mkdir my-app && cd my-app
npm init -y
npm install laravel-mix --save-dev

在项目的根目录中创建一个 Mix 配置文件。

touch webpack.mix.js

打开 webpack.mix.js 并添加以下代码:

// webpack.mix.js

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

mix.js('src/app.js', 'dist').setPublicPath('dist');

使用 或 编译。npx mixnpm run dev

你的webpack.mix.js不应该在/node-modules中,它需要在项目实例的根目录下。

在最新版本的 Laravel Mix 中,您的 package.json 应该更像下面。

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "mix",
        "watch": "mix watch",
        "watch-poll": "mix watch -- --watch-options-poll=1000",
        "hot": "mix watch --hot",
        "prod": "npm run production",
        "production": "mix --production"
    },
    "devDependencies": {
        "@fortawesome/fontawesome-free": "^5.15.2",
        "autoprefixer": "^10.2.4",
        "browser-sync": "^2.26.14",
        "browser-sync-webpack-plugin": "^2.3.0",
        "cross-env": "^7.0.3",
        "laravel-mix": "^6.0.11",
        "postcss": "^8.2.4",
        "sass": "^1.32.6",
        "sass-loader": "^10.1.1",
        "tailwindcss": "^2.0.2",
        "vue-template-compiler": "^2.6.12"
    }
}

评论

0赞 COBNETCKNN 2/8/2021
谢谢你的解释...但是有人真的应该更新他们网站上的安装过程文档。laravel-mix.com/docs/4.0/installation