Skip to content

Commit 9c959bb

Browse files
anteriovieirakazupon
authored andcommitted
[Docs] Updated (#735)
* [Docs] Updated * Fix typo
1 parent de58132 commit 9c959bb

File tree

1 file changed

+69
-3
lines changed

1 file changed

+69
-3
lines changed

docs/pt_BR/configurations/custom-blocks.md

Lines changed: 69 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
55
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`;
66

7-
Se for encontrado um carregador correspondente para um bloco customizado, ele será processado. Caso contrário o bloco customizado será simplesmente ignorado.
7+
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.
88

9-
## Exemplo
9+
## Exemplo de arquivo docs simples
1010

1111
Aqui está um exemplo de extração de todos os blocos customizados `<docs>` em um único arquivo docs;
1212

@@ -40,7 +40,7 @@ comp-a h2 {
4040

4141
#### webpack.config.js
4242

43-
``` js
43+
```js
4444
// Webpack 2.x
4545
var ExtractTextPlugin = require("extract-text-webpack-plugin")
4646

@@ -65,3 +65,69 @@ module.exports = {
6565
]
6666
}
6767
```
68+
69+
## Documentos disponíveis em tempo de execução.
70+
71+
Aqui está um exemplo de injetar os blocos personalizados `<docs>` no componente para que ele esteja disponível durante o tempo de execução.
72+
73+
### docs-loader.js
74+
75+
Para que o conteúdo do bloco personalizado seja injetado, precisamos de um carregador personalizado:
76+
77+
```js
78+
module.exports = function (source, map) {
79+
this.callback(null, 'module.exports = function(Component) {Component.options.__docs = ' +
80+
JSON.stringify(source) +
81+
'}', map)
82+
}
83+
```
84+
85+
#### webpack.config.js
86+
87+
Agora, vamos configurar o webpack para usar o nosso carregador personalizado para blocos customizados `<docs>`.
88+
89+
``` js
90+
const docsLoader = require.resolve('./custom-loaders/docs-loader.js')
91+
92+
module.exports = {
93+
module: {
94+
rules: [
95+
{
96+
test: /\.vue$/,
97+
loader: 'vue',
98+
options: {
99+
loaders: {
100+
'docs': docsLoader
101+
}
102+
}
103+
}
104+
]
105+
}
106+
}
107+
```
108+
109+
#### component.vue
110+
111+
Agora podemos acessar o conteúdo do bloco `<docs>` de componentes importados durante o tempo de execução.
112+
113+
``` html
114+
<template>
115+
<div>
116+
<component-b />
117+
<p>{{ docs }}</p>
118+
</div>
119+
</template>
120+
121+
<script>
122+
import componentB from 'componentB';
123+
124+
export default = {
125+
data () {
126+
return {
127+
docs: componentB.__docs
128+
}
129+
},
130+
components: {componentB}
131+
}
132+
</script>
133+
```

0 commit comments

Comments
 (0)