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

亚连
풀어 주다: 2018-05-28 14:58:07
원래의
3678명이 탐색했습니다.

이 글에서는 주로 환경에 따라 다양한 도메인 이름을 패키징하는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿