我读过关于用Nuxt转换node_modules的问题,但是据说新的Nuxt 2已经通过nuxt.config.js文件中的一个transpile选项解决了这个问题。
https://nuxtjs.org/api/configuration-build/#transpile
以下是我所拥有的:
export default {
router: {
base: '/',
},
build: {
transpile: [
'choices.js',
'lazysizes',
'swiper',
'vee-validate'
],
extractCSS: true
},
srcDir: 'src/',
performance: {
gzip: true
},
render: {
compressor: {
threshold: 100
}
},
dev: false
}我删除了一些无关的东西,以使它更容易阅读。
当我运行npm run build (nuxt build)时,编译的JS文件包含对es6和es7代码(如const和let等)的引用,而这些代码应该是var。
我已经把这个问题从Swiper中分离出来了。它似乎在内部依赖于一个名为Dom7的东西,这似乎是造成问题的原因。
如果可能的话,我希望将这些node_modules依赖项编译成es5。我不确定我目前的设置是否真的在做这方面的任何事情。
我相信Nuxt对Babel使用了vue-app,但我甚至尝试了以下几种方法,但都没有成功:
babel: {
presets: [
'@babel/preset-env'
],
plugins: [
'@babel/plugin-syntax-dynamic-import'
]
}那里的joy也不多。在最终的构建中没有什么不同。
我正在使用Nuxt 2.1.0
任何帮助都很感激。谢谢!
发布于 2019-03-05 14:34:11
您还需要transpile Dom7,所以Nuxt配置应该有:
build: {
transpile: [
'swiper',
'dom7',
],
}发布于 2018-10-04 10:04:04
我也有同样的问题。
版本中的供应商选项被废弃了,因此它被忽略了--从我在这里看到的内容来看,https://medium.com/nuxt/nuxt-2-is-coming-oh-yeah-212c1a9e1a67#a688
我设法把我的案子隔离到了“盗贼”库。如果我将其从项目中删除,那么所有对let、const或class的引用都会消失。我也尝试过transpile选项,但它似乎没有任何效果。
你会尝试排除你的项目中的刷卡,看看我们是否可以隔离这个问题吗?
https://stackoverflow.com/questions/52613136
复制相似问题