A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1 环境


  • win7 win10







2 问题

我要执行的npm script如下:
(脚本的内容不需要关注,需要关注的是它的写法。)



  • "scripts": {



  •     "test": "mocha --require ignore-styles --compilers js:babel-core/register --require             spec/helpers/browser.js --recursive spec/**/*_spec.*",



  •     "cover": "babel-node node_modules/.bin/babel-istanbul cover _mocha -- --require ignore-styles spec/helpers/browser.js --recursive spec/**/*_spec.*",



  •     "dev": "NODE_ENV=dev webpack --watch --colors --progress --debug --output-pathinfo --devtool eval-cheap-source-map",



  •     "dev-slow": "NODE_ENV=dev webpack --watch --colors --progress --debug --output-pathinfo --devtool inline-source-map",



  •     "dev-fast": "echo 'dev-fast in now replaced by dev'",



  •     "prod": "NODE_ENV=production node --max_old_space_size=4096 ./node_modules/webpack/bin/webpack.js -p --colors --progress",



  •     "build": "NODE_ENV=production webpack --colors --progress",



  •     "lint": "eslint --ignore-path=.eslintignore --ext .js,.jsx .",



  •     "lint-fix": "eslint --fix --ignore-path=.eslintignore --ext .js,.jsx .",



  •     "sync-backend": "babel-node --presets env src/syncBackend.js"



  •   },


运行脚本都报同样的错误:



  • 'NODE_ENV' 不是内部或外部命令,也不是可运行的程序



  • 或批处理文件。







  • npm ERR! Windows_NT 6.1.7601



  • npm ERR! argv "D:\\nodejs\\node.exe" "D:\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start"



  • npm ERR! node v4.0.0-rc.5



  • npm ERR! npm  v2.14.2



  • npm ERR! code ELIFECYCLE



  • npm ERR! yy-ydh-web@1.0.7 start: `npm run clear&& NODE_ENV=development && webpack-dev-server --host 0.0.0.0 --devtool ev



  • al --progress --color --profile`



  • npm ERR! Exit status 1



  • npm ERR!



  • npm ERR! Failed at the yy-ydh-web@1.0.7 start script 'npm run clear&& NODE_ENV=development && webpack-dev-server --host



  • 0.0.0.0 --devtool eval --progress --color --profile'.



  • npm ERR! This is most likely a problem with the yy-ydh-web package,



  • npm ERR! not with npm itself.



  • npm ERR! Tell the author that this fails on your system:



  • npm ERR!     npm run clear&& NODE_ENV=development && webpack-dev-server --host 0.0.0.0 --devtool eval --progress --color



  • --profile



  • npm ERR! You can get their info via:



  • npm ERR!     npm owner ls yy-ydh-web



  • npm ERR! There is likely additional logging output above.







  • npm ERR! Please include the following file with any support request:



  • npm ERR!     D:\workspace\node_modules\yy-ydh-web\npm-debug.log


  • 简单来说,就是windows不支持NODE_ENV=development的设置方式。
  • 经过一番搜索,我找到了解决方法:cross-env
  • 这个迷你的包能够提供一个设置环境变量的scripts,让你能够以unix方式设置环境变量,然后在windows上也能兼容运行。
  • 使用方法:
  • 安装cross-env:yarn add cross-env --dev
  • 在NODE_ENV=xxxxxxx前面添加cross-env就可以了。


    • "scripts": {



    •     "test": "mocha --require ignore-styles --compilers js:babel-core/register --require spec/helpers/browser.js --recursive spec/**/*_spec.*",



    •     "cover": "babel-node node_modules/.bin/babel-istanbul cover _mocha -- --require ignore-styles spec/helpers/browser.js --recursive spec/**/*_spec.*",



    •     "dev": "cross-env NODE_ENV=dev webpack --watch --colors --progress --debug --output-pathinfo --devtool eval-cheap-source-map",



    •     "dev-slow": "cross-env NODE_ENV=dev webpack --watch --colors --progress --debug --output-pathinfo --devtool inline-source-map",



    •     "dev-fast": "cross-env echo 'dev-fast in now replaced by dev'",



    •     "prod": "cross-env NODE_ENV=production node --max_old_space_size=4096 ./node_modules/webpack/bin/webpack.js -p --colors --progress",



    •     "build": "cross-env NODE_ENV=production webpack --colors --progress",



    •     "lint": "eslint --ignore-path=.eslintignore --ext .js,.jsx .",



    •     "lint-fix": "eslint --fix --ignore-path=.eslintignore --ext .js,.jsx .",



    •     "sync-backend": "babel-node --presets env src/syncBackend.js"



    •   },



   然后执行yarn dev即可运行,修改了文件可以直接预编译。开发效率也加快了


1 个回复

倒序浏览

很不错,受教了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马