在 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>
这样才能正确地引用到打包后的静态资源。