상세 컨텐츠

본문 제목

Vue Webpack 설정 - vue.config.js

Vue

by 일단두잇 2023. 1. 21. 23:35

본문

반응형

 

Vue Cli 3.x 부터는 config파일이 없습니다.

직접 vue.config.js 파일을 만들어야 합니다.

 

vue.config.js가 필요한 이유는, 개발, 운영등 빌드 환경과 빌드 옵션을 추가하기 위해 사용합니다.

 

구성은 아래와 같습니다.

기본 빌드 환경 + 각 빌드 환경 + 각 빌드 환경 변수

 

1. 기본 빌드 환경 파일 : vue.config.js

 

2. 각 빌드 환경 파일: dev.config.js, prd.config.js...

 

3. 각 빌드 환경 변수 : .dev.env, .prd.env ...

 


vue.config.js

const path = require('path')
const merge = require('webpack-merge')
const buildConfig = process.env.NODE_ENV === 'prd' ? require('./config/prd.config.js') : require('./config/dev.config.js')
// 빌드 모드의 따른 웹팩 설정
module.exports = merge(buildConfig, {
outputDir: 'dist',
configureWebpack: {
output: { // 빌드시마다 js파일명 변경
filename: 'js/[name].[hash].js',
chunkFilename: 'js/[id].[hash].js'
},
resolve: {
alias: {
'@': path.join(__dirname, 'src/')
}
}
}
})
 

 

config/dev.config.js

// const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
module.exports = {
productionSourceMap: true,
lintOnSave: true,
configureWebpack: {
// plugins: [new BundleAnalyzerPlugin()] // 분석시 사용
},
css: {
sourceMap: true
}
}
 

config/prd.config.js

const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
module.exports = {
productionSourceMap: false,
lintOnSave: false,
configureWebpack: {
optimization: {
minimizer: [new UglifyJsPlugin()] // js minify
}
},
css: {
sourceMap: false
}
}
 

.env.dev

NODE_ENV = "dev"
변수명 = 변수값
 

.env.prd

NODE_ENV = "prd"
변수명 = 변수값
 

build 환경에 따른 package.json 설정 :--mode 환경명

"scripts": {
"dev": "vue-cli-service serve --mode dev",
...
 

 

 

반응형

'Vue' 카테고리의 다른 글

Vue Component 쉽게 debug 하기  (0) 2023.01.22
eslint 적용 - vue3  (0) 2023.01.22
Vue.js 셀프 학습  (0) 2023.01.21
Vue.js - 개발 Tool 설치 : Visual Studio Code  (0) 2023.01.21
Vue.js - Vue Cli 설치  (1) 2023.01.21

관련글 더보기

댓글 영역