ホームページ >ウェブフロントエンド >jsチュートリアル >Npm run build で異なるドメイン名をパッケージ化する方法

Npm run build で異なるドメイン名をパッケージ化する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-03 09:34:214113ブラウズ

今回は、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 -- prod1. プロジェクトの /config/dev.env.js の変更:

追加: HOST: '"dev"'

apiUrl = 'http://api.demo.com'

2. project.env.js の変更:

渡されたパラメータを取得します: rrreee3. プロジェクト内の ajax パッケージの変更:
rrreee

4. 最後に次のように入力します。コマンド:

npm run build -- test
注 – 2 本の水平バーがあり、その後にパラメータが続くため、 process.env.HOST はパラメータ 'test' を取得します。

rrreee

prod がオンラインでリリースされ、パッケージ化されている場合は、npm run build -- prodrrreee この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、注目してください。 PHP 中国語 Web サイトの他の関連記事へ!

推奨読書: 🎜🎜🎜Koa2 はファイルのアップロードとダウンロード機能を作成します🎜🎜🎜🎜🎜JS の new() によって実装される関数は何ですか🎜🎜🎜🎜🎜アップロード時に jQuery を使用して画像をローカルでプレビューします🎜🎜🎜

以上がNpm run build で異なるドメイン名をパッケージ化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。