From 3003b4ff404ac12e140ce0cb1217df4dfdc16d9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ant=C3=A9rio=20Vieira?= Date: Thu, 23 Mar 2017 23:12:26 -0300 Subject: [PATCH 1/2] [Docs] Updated --- docs/pt_BR/configurations/custom-blocks.md | 72 +++++++++++++++++++++- 1 file changed, 69 insertions(+), 3 deletions(-) diff --git a/docs/pt_BR/configurations/custom-blocks.md b/docs/pt_BR/configurations/custom-blocks.md index f3a01dbd5..5d52060c4 100644 --- a/docs/pt_BR/configurations/custom-blocks.md +++ b/docs/pt_BR/configurations/custom-blocks.md @@ -4,9 +4,9 @@ Você pode definir blocos de linguagem customizados dentro de arquivos `*.vue`. O conteúdo do bloco customizado será processado ppelos carregadores especificados na opção `loaders` do objeto de configuração `vue-loader` e então requerido pelo módulo componente. A configuração é semelhante a descrita em [Configurações Avançada do Carregador](../configurations/advanced.md), exceto o uso padrão do nome da tag em vez do atributo `lang`; -Se for encontrado um carregador correspondente para um bloco customizado, ele será processado. Caso contrário o bloco customizado será simplesmente ignorado. +Se for encontrado um carregador correspondente para um bloco customizado, ele será processado. Caso contrário o bloco customizado será simplesmente ignorado. Além disso, se o carregador encontrado retornar uma função, essa função será chamada com o componente do arquivo `* .vue` como um parâmetro. -## Exemplo +## Exemplo de arquivo docs simples Aqui está um exemplo de extração de todos os blocos customizados `` em um único arquivo docs; @@ -40,7 +40,7 @@ comp-a h2 { #### webpack.config.js -``` js +```js // Webpack 2.x var ExtractTextPlugin = require("extract-text-webpack-plugin") @@ -65,3 +65,69 @@ module.exports = { ] } ``` + +## Documentos disponíveis em tempo de execução. + +Aqui está um exemplo de injetar os blocos personalizados `` no componente para que ele esteja disponível durante o tempo de execução. + +### docs-loader.js + +Para que o conteúdo do bloco personalizado seja injetado, precisamos de um carregador personalizado: + +```js + module.exports = function (source, map) { + this.callback(null, 'module.exports = function(Component) {Component.options.__docs = ' + + JSON.stringify(source) + + '}', map) + } + ``` + +#### webpack.config.js + +Agora, vamos configurar o webpack para usar o nosso carregador personalizado para blocos customizados ``. + +``` js + const docsLoader = require.resolve('./custom-loaders/docs-loader.js') + + module.exports = { + module: { + rules: [ + { + test: /\.vue$/, + loader: 'vue', + options: { + loaders: { + 'docs': docsLoader + } + } + } + ] + } + } + ``` + + #### component.vue + + Agora podemos acessar o conteúdo do bloco `` de componentes importados durante o tempo de execução. + + ``` html + + + + ``` From da47e13b70e10af9d09a51d1e9697f8b2f4a9479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ant=C3=A9rio=20Vieira?= Date: Thu, 23 Mar 2017 23:16:48 -0300 Subject: [PATCH 2/2] Fix typo --- docs/pt_BR/configurations/custom-blocks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pt_BR/configurations/custom-blocks.md b/docs/pt_BR/configurations/custom-blocks.md index 5d52060c4..f34705884 100644 --- a/docs/pt_BR/configurations/custom-blocks.md +++ b/docs/pt_BR/configurations/custom-blocks.md @@ -113,7 +113,7 @@ Agora, vamos configurar o webpack para usar o nosso carregador personalizado par ``` html