diff --git a/docs/kr/SUMMARY.md b/docs/kr/SUMMARY.md index 7b5d0fc8..e2623339 100644 --- a/docs/kr/SUMMARY.md +++ b/docs/kr/SUMMARY.md @@ -13,6 +13,7 @@ - [Asset URL 핸들링](configurations/asset-url.md) - [고급 로더 설정](configurations/advanced.md) - [CSS 단일 파일로 추출하기](configurations/extract-css.md) + - [사용자 정의 블록](configurations/custom-blocks.md) - 개발 환경 - [배포용 빌드](workflow/production.md) - [Linting](workflow/linting.md) diff --git a/docs/kr/configurations/advanced.md b/docs/kr/configurations/advanced.md index 41f9a5a0..fb509d53 100644 --- a/docs/kr/configurations/advanced.md +++ b/docs/kr/configurations/advanced.md @@ -1,56 +1,81 @@ # 고급 로더 설정 -때로는 `vue-loader`가 그것을 추론하는 대신 언어에 사용자 정의 로더 문자열을 적용하기를 원할 수도 있습니다. 또는 기본 언어에서 기본적으로 제공되는 로더 설정을 덮어쓰고 싶을 수도 있습니다. 이를 위해서 Webpack 설정 파일에 `vue` 블럭을 추가하고 `loaders` 옵션을 지정할 수 있습니다. +아래와 같은 요구사항이 있을 수 있습니다. -### Webpack 1.x +1. `vue-loader`가 추측하는 대신 언어에 맞는 사용자 정의 로더를 사용해야합니다. + +2. 기본 언어에 대한 로더를 덮어써야합니다. + +3. 특정 language block을 위한 사용자 정의 프리 또는 포스트 프로세스를 해야합니다. + +이를 위해 `vue-loader`에 `loaders` 옵션을 지정해야합니다. + +> 참고: `preLoaders`와 `postLoaders`는 10.3.0 버전 이상에서만 지원합니다. + +### Webpack 2.x ``` js -// webpack.config.js module.exports = { - // 이 부분엔 다른 옵션도 들어 갈 수 있습니다. + // 기타 옵션들... module: { - loaders: [ + // module.rules은 1.x버전의 module.loaders과 같습니다 + rules: [ { test: /\.vue$/, - loader: 'vue' + loader: 'vue-loader', + options: { + // `loaders`는 기본 로더를 덮어씁니다. + // 다음 설정은 "lang" 속성이 없는 + // 모든 + + +``` + +#### webpack.config.js + +``` js +// Webpack 2.x +var ExtractTextPlugin = require("extract-text-webpack-plugin") + +module.exports = { + module: { + rules: [ + { + test: /\.vue$/, + loader: 'vue', + options: { + loaders: { + // 모든 의 내용을 원문 그대로 추출합니다 + 'docs': ExtractTextPlugin.extract('raw-loader'), + } + } + } + ] + }, + plugins: [ + // 모든 docs를 하나의 파일로 추출합니다 + new ExtractTextPlugin('docs.md') + ] +} +``` + +## 런타임에서 사용할 수 있는 문서 + +다음은 `` 사용자 정의 블록을 컴포넌트에 넣어 런타임에서 사용할 수 있는 예제입니다. + +#### docs-loader.js + +사용자 정의 블록 콘텐트를 삽입하려면 사용자 정의 로더가 필요합니다. + +``` js +module.exports = function (source, map) { + this.callback(null, 'module.exports = function(Component) {Component.options.__docs = ' + + JSON.stringify(source) + + '}', map) +} +``` + +#### webpack.config.js + +webpack이 `` 사용자 정의 블록을 위한 로더를 사용하도록 설정합니다. + +``` js +const docsLoader = require.resolve('./custom-loaders/docs-loader.js') + +module.exports = { + module: { + rules: [ + { + test: /\.vue$/, + loader: 'vue', + options: { + loaders: { + 'docs': docsLoader + } + } + } + ] + } +} +``` + +#### component.vue + +이제 `` 블록의 내용을 런타임 중에 컴포넌트에서 사용할 수 있습니다. + +``` html + + + +``` diff --git a/docs/kr/configurations/extract-css.md b/docs/kr/configurations/extract-css.md index 9ace5208..e6aede8f 100644 --- a/docs/kr/configurations/extract-css.md +++ b/docs/kr/configurations/extract-css.md @@ -1,62 +1,63 @@ # CSS 단일 파일로 추출하기 -다음 예제 설정을 사용하여 모든 Vue 컴포넌트의 처리된 CSS를 단일 CSS 파일로 추출할 수 있습니다. - -### Webpack 1.x - ``` bash npm install extract-text-webpack-plugin --save-dev ``` +## 쉬운 방법 + +> vue-loader@^12.0.0와 webpack@^2.0.0 필요 + ``` js // webpack.config.js var ExtractTextPlugin = require("extract-text-webpack-plugin") module.exports = { - // 이 부분엔 다른 옵션도 들어 갈 수 있습니다. + // other options... module: { - loaders: [ + rules: [ { test: /\.vue$/, - loader: 'vue' - }, + loader: 'vue-loader', + options: { + extractCSS: true + } + } ] }, - vue: { - loaders: { - css: ExtractTextPlugin.extract("css"), - // 당신은 ``` diff --git a/docs/kr/options.md b/docs/kr/options.md index ba221983..3c7572fa 100644 --- a/docs/kr/options.md +++ b/docs/kr/options.md @@ -2,18 +2,7 @@ ## Webpack 1 & 2 사용 방법의 차이점 -Webpack 1.x의 경우 Webpack 설정에 루트 `vue` 블럭을 추가합니다. - -``` js -module.exports = { - // ... - vue: { - // vue-loader 옵션 - } -} -``` - -Webpack 2 (^2.1.0-beta.25)는 다음과 같습니다. +Webpack 2 : 직접 loader 규칙에 전달합니다 ``` js module.exports = { @@ -32,9 +21,20 @@ module.exports = { } ``` +Webpack 1.x의 경우 Webpack 설정에 루트 `vue` 블럭을 추가합니다. + +``` js +module.exports = { + // ... + vue: { + // vue-loader 옵션 + } +} +``` + ### 로더 -- 타입: `Object` +- 타입: `{ [lang: string]: string }` `*.vue` 파일의 언어 블럭에 사용할 Webpack 로더를 지정하는 객체입니다. 이 키는 특별히 지정된 경우 language block에 대한 `lang` 속성에 해당합니다. 각 타입에 대한 기본적인 `lang`은 다음과 같습니다. @@ -45,16 +45,46 @@ module.exports = { 예를 들어, `babel-loader`와 `eslint-loader`를 사용하여 모든 ` ``` -`src`로 가져오기가 CommonJS `require()` 호출과 동일한 경로 확인 규칙을 따르기 때문에 주의해야 합니다. 즉, `./`로 시작해야하는 상대 경로를 의미하며 설치된 NPM 패키지에서 직접 리소스를 가져올 수 있습니다. +`src` import는 CommonJS의 `require()` 호출과 동일한 경로 규칙을 사용하므로 `./`로 시작하는 상대 경로를 이용해 NPM 패키지를 직접 가져올 수 있습니다. ``` html - +