【发布时间】:2018-01-05 23:38:28
【问题描述】:
我的 webpack 编译没有转译成正确的 JS。它写道
exports default MultiLanguage
代替
module.exports = { MultiLanguage: MultiLanguage};
我的.bablerc
{
"presets": ["es2015", "stage-0"],
"plugins": ["transform-runtime"]
}
我的 package.json
{
"name": "myapp",
"version": "0.0.1",
"description": "My app",
"dependencies": {
"bootstrap": "^3.3.7",
"vue": "^2.4.2",
"vue-multilanguage": "^2.1.1"
},
"devDependencies": {
"babel-cli": "^6.24.1",
"babel-core": "^6.25.0",
"babel-loader": "^6.4.1",
"babel-plugin-transform-runtime": "^6.1.2",
"babel-preset-es2015": "^6.24.1",
"babel-preset-stage-0": "^6.1.2",
"babel-runtime": "^5.8.0",
"webpack": "^1.15.0"
},
"author": "You"
}
我的 webpack.config.js
module.exports = {
entry: './src/main.js',
output: {
path: './dist',
filename: 'build.js'
},
module: {
loaders: [
{
test: /\.js$/,
loader: 'babel',
exclude: /node_modules/
}
]
}
}
因此在 build.js 中出现错误和代码 在 Chromium/Chrome 和 ubuntu 中:
Uncaught SyntaxError: Unexpected token export
在 Firefox 中:
SyntaxError: export declarations may only appear at top level of a module
export default MultiLanguage
这里还有vue代码(main.js):
import Vue from 'vue/dist/vue.js'
import MultiLanguage from 'vue-multilanguage/src/vue-multilanguage.js'
Vue.use(MultiLanguage, {
default: 'en',
en: {
hi: 'Hello',
welcome: 'Welcome, {name}'
},
pt: {
hi: 'Ola',
welcome: 'Bem-vindo, {name}'
}
})
有什么推荐的教程吗?有什么想法吗?
当我用 module.exports = { MultiLanguage: MultiLanguage}; 替换 build.js 中的行时,不会发生错误
【问题讨论】:
-
我从未使用过您之前使用的元素属性语法。这可能会导致您的错误。你检查过控制台吗?我几乎可以打赌,由于 v.lang.welcome 属性,vue 在渲染模板时遇到了问题。我认为这不是正确的 html5。
-
我必须承认。我从模块教程中复制了它
-
我建议您寻找另一个教程,因为您使用的语法与我见过的任何语法都不一样。
-
@MiguelCabrera 语法看起来不错,根据:github.com/leonardovilarinho/vue-multilanguage(模块制造商的教程)
-
你可能是对的,但我已经在 Vue2 中专门编写代码一年多了,我从未见过
import Vue from 'vue/dist/vue.js',通常我只是import Vue from 'vue'
标签: node.js debugging webpack vue.js babeljs