日期:2017-02-24 阅读:3008
dmandwp系统 - wordpress系统和DM系统区块建站>>
Laravel Elixir 发布于 2014 年 10 月。Elixir 在 Gulp 之上提供了一套简洁、平滑的 API,旨在让前端资源任务处理更加自动化。
但是从laravel5.4开始,laravel不用gulp,而用webpack了。所以Laravel Elixir也换成了 Laravel Mix
-----------
https://laravel-china.org/docs/5.4/mix
安装 Laravel Mix
先在dos命令行 转到 在laravel项目的根目录
确定你的开发环境上有安装 Node.js 和 NPM。
node -v
npm -v
-----------------
windows安装Mix:
先安装淘宝镜像
第一步: 安装模块依赖,即项目里node-modules下的内容 ,大概有50M左右。
即根目录下的package.json内容。
-------
如果其他项目里有node-modules下的内容,可以直接先复制过来。
这样就不用cnpm install --no-bin-links去网上下载了。但是仍要执行下面的第二步。
-----------------------
开始安装模块依赖:
运行:npm install --no-bin-links
或 cnpm install --no-bin-links
window下要加 --no-bin-links
如果出现 Maximum call stack size exceeded,就再运行下 npm install --no-bin-links
好了后,会在项目的node-modules下多出很多文件夹 ,大概有50M左右。
然后运行 npm run dev , Webpack 会执行根目录下的 webpack.mix.js 文件中的指令
-----------------
结果提示错误。然后网上搜下,
http://stackoverflow.com/questions/42117717/laravel-5-4-mix-issue
说要 重装下node-sass
----------------
第二步:重装下node-sass
一定要用淘宝镜像来安装node-sass :
cnpm install --save-dev node-sass
网上说node-sass要用 python和vs2013来编译。从上面操作来看并不需要。可能情况不一样吧。
--------------
第三步:再运行下 npm run dev
然后修改过sass文件或js后,再用 npm run watch 即可。
就成功了,右上角也会有成功的提示。如上图。
-----------------
关于报错:
如果npm run dev 报错,提示 Error: Cannot find module '.......\node_modules\cross-env\bin\cross-env.js'
意思就是找不到cross-env.js
后来看了下文档:https://github.com/kentcdodds/cross-env
其实下面这样也可以:
{
"scripts": {
"build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"
}
}
所以把laravel根目录下的package.json也改下:
"scripts": {
"dev": "node node_modules/cross-env/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
},
把 node node_modules/cross-env/bin/cross-env.js 换成cross-env
结果就可以了。