在 ThinkPHP 框架下使用 Laravel Mix 进行前端构建和打包,需要先安装 Node.js 和 npm,然后在项目根目录下安装 Laravel Mix:
npm install laravel-mix --save-dev
安装成功后,需要在项目根目录下新建一个 webpack.mix.js 文件,用来配置前端构建和打包的相关信息,如:
let mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css');
其中,mix.js() 方法用于处理 JavaScript 文件,mix.sass() 方法用于处理 Sass 文件。第一个参数表示入口文件的路径,第二个参数表示打包后文件的路径。
接着,在 package.json 文件中添加 scripts 字段,用于运行 Laravel Mix 命令:
{
"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": "npm run development -- --watch",
"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"
}
}
其中,npm run dev、npm run watch、npm run hot、npm run prod 分别表示开发模式、监听模式、热更新模式和生产模式。
最后,在命令行中运行 npm run dev 命令即可开始前端构建和打包。
需要注意的是,ThinkPHP 框架中的静态资源默认放在 public 目录下,因此需要在 webpack.mix.js 文件中指定打包后文件的输出路径为 public 目录下的对应文件夹。同时,在应用中使用打包后的静态资源时,应该使用 ThinkPHP 提供的 asset() 函数,例如:
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
<script src="{{ asset('js/app.js') }}"></script>
这样才能正确地引用到打包后的静态资源。