vue-cli-plugin-i18n
vue-cli-plugin-i18n copied to clipboard
Some Question In ui.js set localeDir path
When I modified the project entry in vue.config.js with Vue-cli 3.0 like:
configureWebpack: {
resolve: {
alias:{'@' : resolve('examples')},
}
},
chainWebpack: config => {
const appsetting = config.entry('app');
appsetting.clear();
appsetting.add('./examples/main.ts');
},
project tree like:
+Root
+ examples
+assets
+components
+locales
+views
App.vue
i18n.ts
main.ts
......
+node_modules
+packages
......
vue.config.js
then I run the vue service command: "vue ui" and view the plugin in the browser, throw an error:
Error: ENOENT: no such file or directory, scandir 'd:\vscode\crucian\crucian-vue-ui/src/locales' at Object.readdirSync (fs.js:750:3) at getLocales (d:\vscode\crucian\crucian-vue-ui\node_modules\vue-cli-plugin-i18n\ui.js:47:13) at setupAddon (d:\vscode\crucian\crucian-vue-ui\node_modules\vue-cli-plugin-i18n\ui.js:94:21) at api.onPluginReload.project (d:\vscode\crucian\crucian-vue-ui\node_modules\vue-cli-plugin-i18n\ui.js:117:7) at fns.forEach.fn (C:\Users\jkiwen\AppData\Roaming\npm\node_modules@vue\cli\node_modules_@[email protected]@@vue\cli-ui\apollo-server\connectors\plugins.js:255:21) at Array.forEach (
) at callHook (C:\Users\jkiwen\AppData\Roaming\npm\node_modules@vue\cli\node_modules_@[email protected]@@vue\cli-ui\apollo-server\connectors\plugins.js:255:7) at Timeout.setTimeout [as _onTimeout] (C:\Users\jkiwen\AppData\Roaming\npm\node_modules@vue\cli\node_modules_@[email protected]@@vue\cli-ui\apollo-server\connectors\plugins.js:201:9) at ontimeout (timers.js:424:11) at tryOnTimeout (timers.js:288:5)
then I saw the code of ui.js the code set the "localeDir" as absolute path "src"
function setupAddon (path, options) {
debug(setupAddon: path -> ${path}, options -> ${options})
const localeDir = options.localeDir
setSharedData('order', 'asc')
const env = readEnv(${path}/.env)
const current = env['VUE_APP_I18N_LOCALE'] || 'en'
const defaultLocale = env['VUE_APP_I18N_FALLBACK_LOCALE'] || 'en'
setSharedData('current', defaultLocale)
setSharedData('defaultLocale', defaultLocale)
debug(setupAddon: current -> ${current}, defaultLocale -> ${defaultLocale})
const locales = getLocales(${path}/src/${localeDir})
setSharedData('locales', locales)
const messages = getLocaleMessages(${path}/src/${localeDir}, locales)
setSharedData('localeMessages', messages)
setSharedData('localePaths', getLocalePaths(messages))
}
const localePath = ${currentProject.path}/src/${currentConfig.localeDir}
So, the path 'src' can be used relative path ?? Or, How can I use the relative path in the project?