nuxt.js 환경 변 수 를 추가 하고 프로젝트 포장 환경 을 구분 합 니 다.
포장 환경 변 수 를 설정 할 때 nuxt.js 의 문서 가 너무 간단 해서 참조 할 수 없습니다.
몇 가지 자 료 를 조사 한 후에 이 문 제 를 해결 했다.마침내 문서 로 정리 하여 여기에 발표 하여 동업자 에 게 참고 하도록 하 였 다.
1.cross-env 플러그 인 추가
npm
npm i cross-env
yarn
yarn add cross-env
환경 변수 파일 추가
루트 디 렉 터 리 env.production 추가
NODE_ENV = 'production'
VUE_APP_TITLE = 'production'
루트 디 렉 터 리 에 env.test 파일 추가
NODE_ENV = 'production'
VUE_APP_TITLE = 'test'
3.전역 환경 변수 주입
nuxt.config.js 에 환경 변수 설정 추가
export default {
env: {
VUE_APP_TITLE: process.env.VUE_APP_TITLE
}
}
4.포장 명령 수정package.json 에서 다음 명령 을 수정 합 니 다.
"scripts": {
"dev": "nuxt",
"build": "cross-env process.env.VUE_APP_TITLE=production nuxt build",
"build:test": "cross-env process.env.VUE_APP_TITLE=test nuxt build",
"start": "nuxt start",
"generate": "nuxt generate",
"test": "jest"
}
Yrn build 를 실행 하여 생산 환경 패키지,Yrn build:test 테스트 환경 패키지.보충 지식:vue 프로젝트 환경 포장 의 구체 적 인 절차-테스트 환경 과 온라인 환경 을 구분 하 는 포장 참조 경로
STEP 1:cross-env 설치
npm install --save-dev cross-env
크로스 플랫폼 설정 과 환경 변 수 를 사용 하 는 스 크 립 트 를 실행 합 니 다.
STEP 2:package.json 수정
패키지
패키지 명령 설정-vue-cli 를 사용 하여 만 든 프로젝트 를 기반 으로 하고 프로필 은 NODE 를 기반 으로 합 니 다.ENV=production 에서 처리 합 니 다.기 존 프로필 을 최소 화 하 는 원칙 에 따라 저 희 는 여기 있 습 니 다.NODEENV 는 모두 production 으로 설정 하 는 것 이 좋 습 니 다.
EVN 1 개 추가CONFIG 필드 에서 환경 구분 하기
NODE_ENV=production EVN_CONFIG=dev 대응
process.env.EVN_CONFIG(package.json 의 EVNCONFIG)는 config/index.js 의 build 환경 값 과 대응 합 니 다.
package.json 파일 의 scripts 내용 을 개성 있 게 하고 새로 정 의 된 몇 가지 환경의 포장 과정 을 추가 합 니 다.안의 매개 변 수 는 앞의 조정 과 일치 합 니 다.
"build:dev": "cross-env NODE_ENV=production EVN_CONFIG=dev node build/build.js",
"build:test": "cross-env NODE_ENV=production EVN_CONFIG=testing node build/build.js",
"build:prod": "cross-env NODE_ENV=production EVN_CONFIG=production node build/build.js"
STEP 3:config/index.js 수정
config/index.js 파일 에서 build 인 자 를 수정 합 니 다.이 인 자 는 build/webpackage.prod.conf.js 에서 사 용 됩 니 다.
4 단계 build/webpackage.prod.conf.js 수정
env ------ process.env.EVN_CONFIG 는 config/index.js 의 build 환경 값 과 대응 하 는 관계 가 있 습 니 다.
true
testing<br><br>console.log(env) ----
{ NODE_ENV: '"production"', EVN_CONFIG: '"testing"' }
테스트 환경 과 온라인 환경 을 구분 하기 위 한 패키지 참조 경로
index:템 플 릿
assetRoot:압축 된 파일 을 저장 할 경로
assets SubDirectory:index.html 를 제외 한 정적 자원 이 저장 할 경로,
assets PublicPath:대표 포장 후 index.html 에서 자원 의 상대 주 소 를 참조 합 니 다.
build: {
// test dev prod
production: require('./prod.env'),
dev: require('./dev.env'),
testing: require('./test.env'),
// Template for index.html
index: path.resolve(__dirname, '../dist/index.html'),
// Paths
assetsRoot: path.resolve(__dirname, '../dist'),
// assetsRoot: process.env.EVN_CONFIG === 'testing'?'../dist':'../h5',
// assetsSubDirectory: './static',
// assetsPublicPath: '/h5/',
assetsSubDirectory:process.env.EVN_CONFIG === 'testing' ? './static':'static',
assetsPublicPath:process.env.EVN_CONFIG === 'testing' ? '/h5/':'/',
이상 의 이 nuxt.js 는 환경 변 수 를 추가 하고 프로젝트 포장 환경 을 구분 하 는 작업 은 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.여러분 께 참고 가 되 고 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【비공식】Notion을 CMS로 해 기사 일람을 취득해 보았다 【하지만 편리】최근에는 업무 위탁으로 디자인 회사에서 배우면서 일전을 벌 수 있는 생활을 하고 있습니다. 또 이 후 axios를 넣을지 묻는다고 생각하므로 잊지 않고 넣어 봅시다. 이번에는 create-nuxt-app라는 페이지를...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.