报错使用了不恰当的exportshtml
Uncaught TypeError : Cannot assign to read only property 'exports ' of object ' # < Object > '
vue
网上不少教程是写的webpack
//zh.js module.exports={ part1 : { name:'姓名', nation:'地区' } part2 : { gender:'性别' } } //lang.js import Vue from 'vue'; import VueI18n from 'vue-i18n'; Vue.use(VueI18n); const messages = { 'zh': require('../lang/zh.js'), // 中文语言包 'en': require('../lang/en.js'), // 英文语言包 } export default new VueI18n({ locale: 'zh', // set locale 默认显示中文 fallbackLocale: 'en', //若是语言包没有,则默认从英语中抽取 messages: messages // set locale messages });
使用了module.exports以及require,而后运行可能会报错es6
点击错误web
缘由是:The code above is ok. You can mix require and export. You can‘t mix import and module.exports.
在webpack打包的时候,能够在js文件中混用require和export。可是不能混用import 以及module.exports。
由于webpack 2中不容许混用import和module.exports,说是要统一使用es6语法app
因此 ,解决方法:ui
require改为import
module.exports改为export defaultcode
具体可参照 vue-i18n安装配置运行 2,4点
htm
nice!blog
使用 v-html将js文件中的字段中包含的符号解析成html能解析的样子
v-html用于输出html,将内容当成html标签解析后展现
空格
zh.js
export default{ part1 : { name:'姓 名', nation:'地区' } part2 : { gender:'性别' } }
show.vue
//wrong <div> <p>$t{{part1.name}}</p> //展现为姓 名 </div> //right <div> <p v-html='$t(part1.name)'></p> //展现为姓 名 </div>
换行
zh.js
export default{ part1 : { name:'姓<br>名', nation:'地区' } part2 : { gender:'性别' } }
show.vue
//wrong <div> <p>$t{{part1.name}}</p> //展现为姓<br>名 </div> //right <div> <p v-html='$t(part1.name)'></p> //展现为 // 姓 // 名 </div>
zh.js
export default{ part1 : { app0:'你好', app1:'您好' } }
show.vue
//item.e = 0 <div> <p>{{$t(`part1.app${item.e}`)}}</p> //展现为 你好 </div>