我的Laravel项目,包含多个Vue.js应用。项目目录结构如下:
├── public
│ ├── js
│ │ ├── app_the_first.js
│ │ ├── app_the_second.js
├── resources
│ ├── assets
│ │ ├── js
│ │ │ ├── the_first_components
│ │ │ │ ├── // Vue component files
│ │ │ ├── the_second_components
│ │ │ │ ├── // Vue component files
│ │ │ ├── app_the_first.js
│ │ │ ├── app_the_second.js
│ ├── sass
│ │ ├── app_the_first.js
│ │ ├── app_the_second.js
├── views
│ ├── the_first.blade.php
│ ├── the_second.blade.php
├── package.json
├── webpack.mix.js
字符串
当我更改the_first_component
并运行npm run dev/prod
时,app_the_first.js
和app_the_second.js
都将重新生成
我的webpack.mix.js
const mix = require('laravel-mix');
mix.js('resources/assets/js/app_the_first.js', 'public/js').vue()
.sass('resources/assets/sass/app_the_first.scss', 'public/css');
mix.js('resources/assets/js/app_the_second.js', 'public/js').vue()
.sass('resources/assets/sass/app_the_second.scss', 'public/css');
型
我只想重建app_the_first.js
,不想重建app_the_second.js
1条答案
按热度按时间snz8szmq1#
Laravel Mix本身不支持构建选定的资产,因为运行
npm run
dev或npm run prod
将触发webpack.mix.js
中定义的所有任务。您可以定义一个环境变量来指定您想要构建的应用:字符串
然后,您可以在运行npm脚本时使用环境变量来指定要编译的应用程序:
型
修改你的package.json脚本以包含这些新命令:
型
现在,您可以使用npm run dev-first仅编译第一个应用程序的资产,而npm run dev-second用于第二个应用程序。
如果你没有安装cross-env,你可以使用以下命令安装:
型