今回は、Npm run build で異なるドメイン名をパッケージ化する方法と、Npm run build で異なるドメイン名をパッケージ化するための 注意事項 について説明します。実際のケースを見てみましょう。
プロジェクト開発中、バックエンド API ドメイン名を設定するときにフロントエンドで非常に問題が発生することがよくあります: ローカル開発環境: api-dev.demo.comテスト環境: api-test.demo。 .comオンライン制作環境: api.demo.com, 今回は Vue.js プロジェクトにパッケージされています:npm run build -- xxx を使用して、渡されたパラメーター xxx 環境に応じて違いを判断し、異なるドメイン名構成を指定します。 <p style="text-align: left;"><code>npm run build -- xxx
,根据传递参数xxx来判定不同的环境,给出不同的域名配置。
1.项目中/config/dev.env.js修改:
新增:HOST: '"dev"'
'use strict' const merge = require('webpack-merge') const prodEnv = require('./prod.env') module.exports = merge(prodEnv, { NODE_ENV: '"development"', HOST: '"dev"' })
2.项目中/config/prod.env.js修改:
获取传递进来的参数:
'use strict' let HOST = process.argv.splice(2)[0] || 'prod'; console.log(HOST); module.exports = { NODE_ENV: '"production"', HOST: '"'+HOST+'"' }
3.项目中ajax封装的地方修改:
/** ** 设置API接口域名 **/ let apiUrl = ''; // 根据 process.env.HOST 的值判断当前是什么环境 // 命令:npm run build -- test ,process.env.HOST就设置为:'test' let HOST = process.env.HOST; HOST = HOST === 'prod' ? '' : '-' + HOST; apiUrl = 'http://api'+HOST+'.demo.com'; axios.defaults.baseURL = apiUrl;
4.最后敲命令:
npm run build -- test
注意–是2个横杠, 后面跟参数,这样 process.env.HOST 就获取到参数 'test' 了,
apiUrl = 'http://api-test.demo.com'
若线上prod发布打包,npm run build -- prod
1. プロジェクトの /config/dev.env.js の変更:
追加: HOST: '"dev"'
apiUrl = 'http://api.demo.com'
2. project.env.js の変更:
渡されたパラメータを取得します: rrreee3. プロジェクト内の ajax パッケージの変更:
rrreee
npm run build -- test
注 – 2 本の水平バーがあり、その後にパラメータが続くため、 process.env.HOST はパラメータ 'test' を取得します。
prod がオンラインでリリースされ、パッケージ化されている場合は、npm run build -- prod
rrreee この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、注目してください。 PHP 中国語 Web サイトの他の関連記事へ!
以上がNpm run build で異なるドメイン名をパッケージ化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。