Vue.js 如何为两个不同的生产构建使用不同的API端点?
我需要生成两个生产版本。一个用于分期生产,一个用于最终生产。我使用Vue.js 如何为两个不同的生产构建使用不同的API端点?,vue.js,production-environment,vue-cli-3,Vue.js,Production Environment,Vue Cli 3,我需要生成两个生产版本。一个用于分期生产,一个用于最终生产。我使用vue cli服务构建创建构建。我需要的是制作两个npm脚本,它们将在不同的条件下使用不同的API端点 下面是我导出api端点的文件。 src/config/index.js import dev from "./dev.env.js"; import prod from "./prod.env.js"; let api if (process.env.NODE_ENV === "
vue cli服务构建
创建构建。我需要的是制作两个npm脚本,它们将在不同的条件下使用不同的API端点
下面是我导出api端点的文件。
src/config/index.js
import dev from "./dev.env.js";
import prod from "./prod.env.js";
let api
if (process.env.NODE_ENV === "production") {
api = dev
}
if (process.env.NODE_ENV === "finalprod") {
api = prod
}
export default api;
在package.json
脚本中
"build": "vue-cli-service build",
"buildprod": "NODE_ENV=finalprod vue-cli-service build",
这似乎解决了问题。
但问题是,当环境更改为finalprod
时,build
命令不会生成生产版本
我也检查了,但无法从中获得解决方案
注:
ftp
将构建上传到提供静态文件的服务器vue create project name
这里有一个解决方案,你可以尝试解决它
.env.finalprod.local
NODE\u env=production
,以便
它将建立在生产模式
如果要指定其他自定义环境变量,请确保
以VUE\u APP\uu
作为前缀,否则在生成时将忽略它
下面是它的外观:
NODE_ENV=production
VUE_APP_API_ENDPOINT=YOUR_API_ENDPOINT_HERE
这意味着您必须为其他环境定义单独的环境文件,例如.env.development.local
和.env.production.local
,如果它们使用不同的API端点
src/config/index.js
,类似于下面的代码package.json
中,将脚本更改为:“buildprod”:“vue cli服务--模式finalprod”
这将在暂存模式下构建生产应用程序,如果存在,将使用.env、.env.finalprod或.env.finalprod.local
请注意,如果您有以下脚本
“buildprod”:“vue cli服务--模式finalprod”
,则您还必须使用.finalprod
命名.env文件,例如.env.finalprod.local
,否则cli将找不到它,也不会在生产模式下生成您的应用程序。这里有一个解决方案,您可以尝试解决它
.env.finalprod.local
NODE\u env=production
,以便
它将建立在生产模式
如果要指定其他自定义环境变量,请确保
以VUE\u APP\uu
作为前缀,否则在生成时将忽略它
下面是它的外观:
NODE_ENV=production
VUE_APP_API_ENDPOINT=YOUR_API_ENDPOINT_HERE
这意味着您必须为其他环境定义单独的环境文件,例如.env.development.local
和.env.production.local
,如果它们使用不同的API端点
src/config/index.js
,类似于下面的代码package.json
中,将脚本更改为:“buildprod”:“vue cli服务--模式finalprod”
这将在暂存模式下构建生产应用程序,如果存在,将使用.env、.env.finalprod或.env.finalprod.local
请注意,如果您有此脚本“buildprod”:“vue cli服务--mode finalprod”
,则您还必须使用.finalprod
命名.env文件,例如.env.finalprod.local
,否则cli将无法找到它,并且不会在生产模式下生成您的应用程序