>  기사  >  웹 프론트엔드  >  vue 패키지에서 Npm 실행 빌드는 매개변수 방법을 전달하는 환경에 따라 다른 도메인 이름을 패키지합니다.

vue 패키지에서 Npm 실행 빌드는 매개변수 방법을 전달하는 환경에 따라 다른 도메인 이름을 패키지합니다.

亚连
亚连원래의
2018-05-28 14:58:073614검색

이 글에서는 주로 환경에 따라 다양한 도메인 이름을 패키징하는 vue 프로젝트의 Npm run build 방법을 소개합니다. npm run build --xxx를 사용하여 전달된 매개변수 xxx에 따라 다양한 환경을 결정하고 다양한 도메인 이름 구성을 제공합니다. 특정 내용 자세한 내용은 이 기사를 참조하세요

프로젝트 개발 중에 백엔드 API 도메인 이름을 구성할 때 프런트엔드에서 매우 고민하는 경우가 많습니다.

로컬 개발 환경: api-dev.demo.com

테스트 환경: api-test.demo.com

온라인 제작 환경: api.demo.com,

이번에는 Vue.js 프로젝트에 패키징되어 있는데, 어떻게 하는지 가르쳐 드리겠습니다:

npm run build --xxx , 전달 매개변수에 따라 xxx는 다양한 환경을 결정하고 다양한 도메인 이름 구성을 제공하는 데 사용됩니다. 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 수정:

전달된 매개변수 가져오기: rrreee

3. 프로젝트의 ajax 패키지 수정:

rrreee4. 명령:

npm run build -- test

참고 – 두 개의 가로 막대가 있고 그 뒤에 매개변수가 있으므로 process.env.HOST는 'test' 매개변수를 가져옵니다. rrreee

prod가 온라인으로 출시되어 패키징되면 npm run build -- prod🎜rrreee🎜위 내용이 제가 정리한 내용이므로 나중에 도움이 되셨으면 좋겠습니다. 🎜🎜관련 기사: 🎜🎜🎜직접 Ajax 이미지 업로드 만들기🎜🎜🎜🎜다양한 네임스페이스로 Ajax 액션을 사용하는 방법🎜🎜🎜🎜반환 값에 사전 태그를 자동으로 추가하는 Ajax 솔루션🎜🎜

위 내용은 vue 패키지에서 Npm 실행 빌드는 매개변수 방법을 전달하는 환경에 따라 다른 도메인 이름을 패키지합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.