@@ -78,6 +78,17 @@ module.exports = {
78
78
test: / \. vue$ / ,
79
79
loader: ' vue-loader' ,
80
80
},
81
+ // for i18n resources (json/json5/yaml)
82
+ {
83
+ test: / \. (json5? | ya? ml)$ / , // target json, json5, yaml and yml files
84
+ type: ' javascript/auto' ,
85
+ // Use `Rule.include` to specify the files of locale messages to be pre-compiled
86
+ include: [
87
+ path .resolve (__dirname , ' ./src/locales' ),
88
+ ],
89
+ loader: ' @intlify/vue-i18n-loader'
90
+ }
91
+ // for i18n custom block
81
92
{
82
93
resourceQuery: / blockType=i18n/ ,
83
94
type: ' javascript/auto' ,
@@ -90,7 +101,6 @@ module.exports = {
90
101
}
91
102
```
92
103
93
-
94
104
## Bundling with Rollup
95
105
96
106
### rollup-plugin-vue-i18n
@@ -301,13 +311,20 @@ In order to do that we have to create a `vue.config.js` at the root of our proje
301
311
``` js
302
312
module .exports = {
303
313
chainWebpack : config => {
314
+ config .module
315
+ .rule (' i18n-resource' )
316
+ .test (/ \. (json5? | ya? ml)$ / )
317
+ .include .add (path .resolve (__dirname , ' ./src/locales' ))
318
+ .end ()
319
+ .type (' javascript/auto' )
320
+ .use (' i18n-resource' )
321
+ .loader (' @intlify/vue-i18n-loader' )
304
322
config .module
305
323
.rule (' i18n' )
306
- .resourceQuery (/ blockType=i18n/ )
307
- .type (' javascript/auto' )
308
- .use (' i18n' )
309
- .loader (' @intlify/vue-i18n-loader' )
310
- .end ();
324
+ .resourceQuery (/ blockType=i18n/ )
325
+ .type (' javascript/auto' )
326
+ .use (' i18n' )
327
+ .loader (' @intlify/vue-i18n-loader' )
311
328
}
312
329
}
313
330
```
0 commit comments