New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Single File Component doesn't work anymore #209
Labels
Status: Review Needed
Request for review comments
Comments
any solution for this? |
write a new loader, and it works for me. const parse = require('querystring').parse
const JSON5 = require('json5')
module.exports = function (source, map) {
let { lang } = parse(this.resourceQuery)
// eslint-disable-next-line unused-imports/no-unused-vars
lang = lang || 'json'
let pureJSONStr = ''
try {
const obj = JSON5.parse(source)
pureJSONStr = JSON.stringify(obj)
} catch (err) {
const e = new Error(`Invalid i18n block: \n${source}`)
this.emitError(e.message)
this.callback(e)
return
}
this.cacheable && this.cacheable()
this.callback(
null,
`
export default function (Component) {
Component.options.__i18n = Component.options.__i18n || [];
Component.options.__i18n.push('${pureJSONStr}');
delete Component.options._Ctor;
}`.trim(),
map
)
} config.module
.rule('i18n')
.resourceQuery(/blockType=i18n/)
.type('javascript/auto')
.use('i18n')
.loader(path.resolve('./tools/webpack-loader/i18n-loader.js'))
.end() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Reporting a bug?
I copied step by step the code in your README but it doesn't work.
the translation works fine if we use a message object, but as soon as we use the tag, it doesn't work, and I see the error in the console:
[vue-i18n] Value of key 'hello' is not a string or function !
[vue-i18n] Cannot translate the value of keypath 'hello'. Use the value of keypath as default.
I have tried to make this work, with webpack, vue-cli, etc. but it just doesn't work, at least not with just the steps in the documentation.
Expected behavior
Instead of hello which is the name of the key it should show the value of this key, so "hello world!" or "こんにちは、世界!"
Reproduction
https://codesandbox.io/s/brave-water-spm7l4
System Info
Screenshot
Additional context
No response
Validations
The text was updated successfully, but these errors were encountered: