当我运行’npm start’时,应用程序启动就好了但是’npm run build’在终端中给出了以下消息: workout_tracker@0.1.0 build /Users/*******/mern-workout/client react-scripts buildCreating an optimized production build
> workout_tracker@0.1.0 build /Users/*******/mern-workout/client > react-scripts build Creating an optimized production build... Failed to compile. ./src/Components/UI/Spinner/Spinner.module.css Module build failed: BrowserslistError: Unknown browser query `dead` at Array.forEach (<anonymous>) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! workout_tracker@0.1.0 build: `react-scripts build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the workout_tracker@0.1.0 build script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /Users/*******/.npm/_logs/2018-10-22T23_21_04_691Z-debug.log
我已经搜索了,但是,唯一的解决方案似乎是使用Angular的人,他们的Bootstrap版本存在一些问题.我没有在我的应用程序中使用Bootstrap.
我试图从browserslist数组中删除“not dead”只是为了看看会发生什么,我得到了这个:
Creating an optimized production build... Failed to compile. Failed to minify the code from this file: ./node_modules/query-string/index.js:8 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! workout_tracker@0.1.0 build: `react-scripts build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the workout_tracker@0.1.0 build script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /Users/******/.npm/_logs/2018-10-22T23_41_55_488Z-debug.log
这是我的package.json文件:
{ "name": "workout_tracker", "version": "0.1.0", "private": true, "dependencies": { "axios": "^0.18.0", "browserslist": "^4.3.1", "cssnano": "^4.1.7", "firebase": "^5.3.0", "jw-paginate": "^1.0.2", "jw-react-pagination": "^1.0.7", "normalize.css": "^8.0.0", "query-string": "^6.2.0", "random-id": "0.0.2", "react": "^16.5.2", "react-dom": "^16.5.2", "react-headroom": "^2.2.2", "react-icons-kit": "^1.1.6", "react-redux": "^5.0.7", "react-router-dom": "^4.3.1", "react-scripts-cssmodules": "^1.1.10", "react-swipe-to-delete-component": "^0.3.4", "react-swipeout": "^1.1.1", "redux": "^4.0.0", "redux-thunk": "^2.3.0" }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject" }, "devDependencies": { "css-loader": "^1.0.0", "redux-devtools-extension": "^2.13.5", "webpack": "^3.8.1" }, "browserslist": [ ">0.2%", "not dead", "not ie <= 11", "not op_mini all" ], "proxy": "http://localhost:4000" }“死”的描述出现在较新的版本中.换句话说,’dead’未在../node_modules/autoprefixer-stylus/node_modules/browserslist/index.js中定义.
如果您打开上面的../browserlist/index.js文件,您会看到:
var QUERIES = [ { regexp: /^last\s+(\d+)\s+major versions?$/i, select: function (context, versions) ... }, ..., ]
您可以在其中添加以下内容:
{ regexp: /^dead$/i, select: function (context) { var dead = ['ie <= 10', 'ie_mob <= 10', 'bb <= 10', 'op_mob <= 12.1'] return resolve(dead, context) } }
这对我来说没有改变package-json.lock中的依赖版本