• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

빌드시 환경변수로 import 제외하고 싶은데요.

20.05.18 11:41 작성 조회수 438

1

이 문제때문에 고민하다가, 수강을 진행하게 된 사람입니다.

mobile또는 pc 별로 빌드를 진행해야해서 , scss 에서 import해올때 경로 또는 파일이름 별로 import를 제외 시키고 싶은데,

이부분이 잘 안되서 문의드립니다.  

{
test: /\.scss$/,
exclude: path.resolve(__dirname, "./../src/tokens/mobile/"),
use: [
MiniCssPlugin.loader,
'css-loader',
'sass-loader'
]

이 방법도 안되고, 아래처럼 plugin을 사용해서 webpack.IgnorePlugin을 해도 여전히 mobile쪽이 적용되는것 같습니다.

plugins: [
browserSyncPlugin,
new MiniCssPlugin({
filename: 'css/[name].css',
chunkFilename: 'css/[id].css'
}),
new webpack.IgnorePlugin({
resourceRegExp: /\.scss$/,
contextRegExp: /mobile/
})
]

webpack은 뭐 디버깅을 해보기가 너무 어렵네요..

에러도 안나고 그냥 조용히 계속 값을 들고오는데, 어떻게 접근하면 좋을까요..

답변 1

답변을 작성해보세요.

0

안녕하세요 2lian님, 말씀하신 환경 변수로 빌드 옵션을 제어하시고 싶다면 아래 문서를 참고해보시면 좋을 것 같습니다. 웹팩 설정 파일에서 보통 환경 변수 env 파일을 접근하는 라이브러리는 dotenv를 많이 사용합니다.

https://joshua1988.github.io/webpack-guide/advanced/mode-config.html#%EC%8B%A4%ED%96%89-%EB%AA%A8%EB%93%9C%EC%97%90-%EB%94%B0%EB%9D%BC-%EC%9B%B9%ED%8C%A9-%EC%84%A4%EC%A0%95-%EB%8B%AC%EB%A6%AC%ED%95%98%EA%B8%B0

원하시는 배포 환경 별로 환경 변수를 셋업해서 써보시면 좋을 것 같아요. 수강해주셔서 감사합니다 :)