把 laravel-mix 独立移植到thinkphp5项目其他很简单。
1、把webpack.mix.js 和 package.json两个 文件复制到thinkphp5项目的根目录。
2、执行npm install 安装依赖包
3、如果现在直接执行npm run watch的话,则会出现卡死在95% emitting的状态。
原因:
在node_modules/laravel-mix/src/index.js有这么一行代码:
/**
* If we're working in a Laravel app, we'll explicitly
* set the default public path, as a convenience.
*/
if (Mix.sees('laravel')) {
Config.publicPath = 'public';
}
解决方法:
修改webpack.mix.js
mix.setPublicPath('public/')
.js('resources/js/app.js', 'js')
.sass('resources/sass/app.scss', 'css')