uni-app如何配置多环境?
<p>最近我也在配置uni-app的多环境,在官方社区找到了解决方法<br>参考一下社区的解决方案:https://ask.dcloud.net.cn/que...<br>在根目录下创建.env.js,.env.dev.js,.env.prod.js这三个文件。<br><strong><em>.env.js</em></strong></p><div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">;
(</span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">() {
const NODE_ENV </span>= 'dev'; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> dev:开发环境 | test:测试环境</span>
let ENV_VAR = <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (process.env.NODE_ENV === "development"<span style="color: rgba(0, 0, 0, 1)">) {
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (NODE_ENV === 'dev'<span style="color: rgba(0, 0, 0, 1)">) {
ENV_VAR </span>= require('.env.dev.js'<span style="color: rgba(0, 0, 0, 1)">);
} </span><span style="color: rgba(0, 0, 255, 1)">else</span> <span style="color: rgba(0, 0, 255, 1)">if</span> (NODE_ENV === 'test'<span style="color: rgba(0, 0, 0, 1)">) {
}
} </span><span style="color: rgba(0, 0, 255, 1)">else</span> <span style="color: rgba(0, 0, 255, 1)">if</span> (process.env.NODE_ENV === "production"<span style="color: rgba(0, 0, 0, 1)">) {
ENV_VAR </span>= require('.env.prod.js'<span style="color: rgba(0, 0, 0, 1)">);
}
</span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> (ENV_VAR) {
process.uniEnv </span>=<span style="color: rgba(0, 0, 0, 1)"> {};
</span><span style="color: rgba(0, 0, 255, 1)">for</span> (let key <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> ENV_VAR) {
process.uniEnv </span>=<span style="color: rgba(0, 0, 0, 1)"> ENV_VAR;
}
}
})();</span></pre>
</div>
<p><strong><em>.env.dev.js</em></strong></p>
<div class="cnblogs_code">
<pre>const UNI_APP =<span style="color: rgba(0, 0, 0, 1)"> {
BASE_API: </span>'/dev-api'<span style="color: rgba(0, 0, 0, 1)">
}
module.exports </span>= UNI_APP;</pre>
</div>
<p><strong><em>.env.prod.js</em></strong></p>
<div class="cnblogs_code">
<pre>const UNI_APP =<span style="color: rgba(0, 0, 0, 1)"> {
BASE_API </span>= '/prod-api'<span style="color: rgba(0, 0, 0, 1)">
}
module.exports </span>= UNI_APP;</pre>
</div>
<p> </p>
<p>.env.js 起到一个总控的作用,根据NODE_ENV变量的值加载不同的文件,起到环境变量切换的效果。有一点需要注意的是,我们需使用process.uniEnv.xxx来获取我们设置的全局变量值。<br><strong><em>在App.vue 引入.env.js并设置globalData</em></strong></p>
<div class="cnblogs_code">
<pre>import '.env.js'<span style="color: rgba(0, 0, 0, 1)">
export </span><span style="color: rgba(0, 0, 255, 1)">default</span><span style="color: rgba(0, 0, 0, 1)"> {
globalData: process.uniEnv
};</span></pre>
</div>
<p> </p><br><br>
来源:https://www.cnblogs.com/zhangyezi/p/13637494.html
頁:
[1]