我创建了一个全新的项目:
$ npx create-react-app test-react-app && cd test-react-app && npm start
这里是回购:https ://github.com/tlg-265/test-react-app
我创建了一个新脚本:/prepare-project.js
具有以下内容:
let project = 'ferrari' // replace this value with the one passed via: $ npm start [what to put here?]
console.log(`########################`);
console.log(`###### The current project is: ${project} ######`);
console.log(`########################`);
文件内容:/package.json
是:
{
"name": "test-react-app",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
"react": "^16.12.0",
"react-dom": "^16.12.0",
"react-scripts": "3.3.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"prestart": "node prepare-project.js"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
您可以在其中看到我配置了pre hook
:
"prestart": "node prepare-project.js"
我的目标是运行:
$ npm start [what to put here?]
所以在脚本里面:/prepare-project.js
我可以读取那个值。
我试过:
$ node prepare-project.js --project=mclaren
尝试从脚本内部读取该值时没有运气:prepare-project.js
.
关于如何实现这一目标的任何想法?
谢谢!