我有一个使用create-react-app创建的Web应用程序。我需要拥有多个使用不同配置文件(用于数据库连接等)的构建文件夹,而不是仅通过“ yarn build”生成一个构建文件夹。
我该怎么做?
答案 0 :(得分:1)
是的,有可能。只需定义另一个构建脚本即可。
在model.add(LSTM(n_neurons, input_shape=(n_time_steps, n_ftrs), return_sequences=True))
中找到script
,如下所示:
package.json
您可以定义以下内容:
"scripts": {
"start": "node scripts/start.js",
"build": "npm run git-info && node scripts/build.js",
"test": "git-info && node scripts/test.js --env=jsdom",
"git-info": "git log -1 --pretty=format:\"%h%x09%x09%ad%x09%s\" > src/static/gitInfo.txt"
},
调用"scripts": {
"build": "npm run git-info && node scripts/build.js && node scripts/build2.js && node scripts/build3.js",
},
时,它会调用yarn build
部分(build
)中的所有建议
(纱线或npm ...)
在构建脚本npm run git-info && node scripts/build.js && node scripts/build2.js && node scripts/build3.js
,scripts/build.js
中,...您可以定义所需的内容(输出文件夹等)
答案 1 :(得分:0)
假设每个环境有一个配置文件,您可以有一个构建脚本,将配置作为参数或从 process.env 读取,然后为每个构建加载正确的 .env 文件。
"scripts": {
"build": "dotenv-cli -e .env.production node build.js",
"build:staging": "dotenv-cli -e .env.staging node build.js",
"build:dev": "dotenv-cli -e .env.dev node build.js",
}
在这里,build.js 将是您编写的自定义 JS 文件,它将构建您的应用程序。
请记住,在为不同的环境构建时,您需要以一种不会相互覆盖的方式输出构建的文件。