1,npm太慢,用淘宝镜像都不行:npm config set registry https://registry.npm.taobao.org
参考:http://blog.csdn.net/quuqu/article/details/64121812,http://www.runoob.com/nodejs/nodejs-npm.html
2,于是换成 yarn,进入官网 https://yarnpkg.com/zh-hans/docs/install 下载安装
另外可以装Windows下的包管理器Chocolatey:http://blog.csdn.net/u011054333/article/details/51484943
https://chocolatey.org/install#install-with-cmdexe
3,配置环境变量
![](https://images2015.cnblogs.com/blog/824039/201703/824039-20170326172518533-1035916173.png)
XXX-PC MINGW64 ~ $ yarn --version 1.3.2
5,先cd到项目的文件夹下,如果yarn命令不可用,检查一下环境变量是否配置正确。安装过程中,我什么都不写一直回车,全部用默认配置:
XXX-PC MINGW64 /web/yarn (master)
$ yarn init
yarn init v1.3.2
question name (yarn):
question version (1.0.0):
question description:
question entry point (index.js):
question repository url (XXX):
question author (XXX):
question license (MIT):
question private (true):
success Saved package.json
Done in 46.36s.
6,先试试运行:
$ yarn install --no-bin-links
error E:\server\web\robot\node_modules\node-sass: Command failed.
$ yarn add cross-env(windows需要)
$ npm rebuild node-sass --no-bin-links(后面出错重装了)
$ npm run dev(报错npm ERR)
$ npm run watch-poll
如果主机是Windows的话,第1,2必须带 --no-bin-links
7,npm ERR报错,可以升级npm:
$ npm install npm -g
查看版本:
$ npm -v
5.5.1
8,把package.json里script的cross-env全部替换成:node node_modules/cross-env/dist/bin/cross-env.js
"scripts": {
"dev": "npm run development",
"development": "node node_modules/cross-env/dist/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",
"watch": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "node node_modules/cross-env/dist/bin/cross-env.js 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": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
参考:http://pilishen.com/posts/reason-and-solution-why-npm-run-dev-cannot-find-cross-env-in-laravel5.4
9,$ npm run dev报错:Module build failed: Error: %1 is not a valid Win32 application,那么重装node-sass:
$ npm rm node-sass
$ npm install node-sass
安装报错:Cannot download "https://github.com/sass/node-sass/releases/download/v4.6.1/win32-x64-48_binding.node" 直接去淘宝找到适合的文件:https://npm.taobao.org/mirrors/node-sass/v4.6.1/ 我的下载地址:https://npm.taobao.org/mirrors/node-sass/v4.6.1/win32-x64-48_binding.node 下载完保存到任意位置,我放在C:/npm。然后我们需要手动指定node-sass二进制文件的下载源为下载的那个文件:
$ npm config set sass-binary-path c:/npm/win32-x64-48_binding.node
$ npm install node-sass
$ npm run dev
参考:http://blog.csdn.net/bug_zero/article/details/65968959
10,npm run watch-poll
请保证在进行项目开发时 npm run watch-poll
一直运行着,避免出现前端文件更改后没有应用到页面上的歧义。
参考:https://www.cnblogs.com/xiaoCong2016/p/6577101.html