這篇文章給大家介紹怎么在vue-cli項(xiàng)目中實(shí)現(xiàn)多環(huán)境配置,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
興隆網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站于2013年開始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式JavaScript框架,Vue與其它大型框架的區(qū)別是,使用Vue可以自底向上逐層應(yīng)用,其核心庫只關(guān)注視圖層,方便與第三方庫和項(xiàng)目整合,且使用Vue可以采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫開發(fā)復(fù)雜的單頁應(yīng)用。
詳細(xì)操作過程
1.在 package.json 中添加 test 命令
"scripts": { "dev": "cross-env NODE_ENV=online node build/dev-server.js --host 192.168.1.8", "local": "cross-env NODE_ENV=local node build/dev-server.js", "build": "node build/build.js", "build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js", "build:sit": "cross-env NODE_ENV=production env_config=sit node build/build.js" },
2.創(chuàng)建環(huán)境文件 (BASE_API 為接口的主地址)
/config/dev.env.js (開發(fā)環(huán)境) module.exports = { NODE_ENV: '"development"', ENV_CONFIG: '"dev"', BASE_API: '"http://192.168.1.7"' // 這里是后端和后端做開發(fā)測(cè)試 } /config/sit.env.js (測(cè)試環(huán)境,測(cè)試服) module.exports = { NODE_ENV: '"production"', ENV_CONFIG: '"sit"', BASE_API: '"http://test.todomore.cn"' } /config/prod.env.js (生產(chǎn)環(huán)境,正式服) module.exports = { NODE_ENV: '"production"', ENV_CONFIG: '"prod"', BASE_API: '"http://www.todomore.cn"' }
3.修改 config/index.js
var path = require("path") module.exports = { // 開發(fā)環(huán)境配置 dev: { assetsSubDirectory: "static", assetsPublicPath: "/", port: 7127, // context: [ // //代理路徑 // "/shopping", // ], // proxypath: "http://localhost:7127", cssSourceMap: false }, // 生產(chǎn)環(huán)境配置 build: { index: path.resolve(__dirname, "../../../public/store/index.html"), assetsRoot: path.resolve(__dirname, "../../../public/store"), assetsSubDirectory: "static", assetsPublicPath: "/store/", productionSourceMap: true, // Surge or Netlify already gzip all static assets for you. // Before setting to `true`, make sure to: // npm install --save-dev compression-webpack-plugin productionGzip: false, productionGzipExtensions: ["js", "css"] } }
4.安裝插件(如果 package.json 里面本來就有 cross-env 的話就不用這一步了)
npm install --save cross-env
修改 webpack.prod.conf
原來的 env 是引入的 prod.env:
// const env = require('../config/prod.env')
修改為:
const env = require("../config/" + process.env.env_config + ".env")
6.修改提示語
跟 build:pre 不同的是 node_env 需要指向 config 中的文件名稱,與之對(duì)應(yīng)的是 env_config 的名字。
這樣便可以打包成功了。
build.js 中有一段描述:
js const spinner = ora("building for prod....")
可以動(dòng)態(tài)修改為:
js const spinner = ora("building for " + process.env.env_config)
使用命令
# 生產(chǎn)環(huán)境(正式服) npm run build:prod # 測(cè)試環(huán)境(測(cè)試服) npm run build:sit
生成在根目錄 dist 的配置
index: path.resolve(__dirname, '../dist/index.html'), // 入口文件路徑 assetsRoot: path.resolve(__dirname, '../dist'), // 生成在/dist assetsSubDirectory: 'static', // 資源子目錄 assetsPublicPath: '/', // 資源公共路徑
關(guān)于怎么在vue-cli項(xiàng)目中實(shí)現(xiàn)多環(huán)境配置就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。