首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Nuxt 2在node_modules中传递依赖项?

如何使用Nuxt 2在node_modules中传递依赖项?
EN

Stack Overflow用户
提问于 2018-10-02 17:07:47
回答 2查看 9.9K关注 0票数 4

我读过关于用Nuxt转换node_modules的问题,但是据说新的Nuxt 2已经通过nuxt.config.js文件中的一个transpile选项解决了这个问题。

https://nuxtjs.org/api/configuration-build/#transpile

以下是我所拥有的:

代码语言:javascript
复制
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代码(如constlet等)的引用,而这些代码应该是var

我已经把这个问题从Swiper中分离出来了。它似乎在内部依赖于一个名为Dom7的东西,这似乎是造成问题的原因。

如果可能的话,我希望将这些node_modules依赖项编译成es5。我不确定我目前的设置是否真的在做这方面的任何事情。

我相信Nuxt对Babel使用了vue-app,但我甚至尝试了以下几种方法,但都没有成功:

代码语言:javascript
复制
babel: {
  presets: [
    '@babel/preset-env'
  ],
  plugins: [
    '@babel/plugin-syntax-dynamic-import'
  ]
}

那里的joy也不多。在最终的构建中没有什么不同。

我正在使用Nuxt 2.1.0

任何帮助都很感激。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-05 14:34:11

您还需要transpile Dom7,所以Nuxt配置应该有:

代码语言:javascript
复制
build: {
    transpile: [
      'swiper',
      'dom7',
    ],
}
票数 6
EN

Stack Overflow用户

发布于 2018-10-04 10:04:04

我也有同样的问题。

版本中的供应商选项被废弃了,因此它被忽略了--从我在这里看到的内容来看,https://medium.com/nuxt/nuxt-2-is-coming-oh-yeah-212c1a9e1a67#a688

我设法把我的案子隔离到了“盗贼”库。如果我将其从项目中删除,那么所有对letconstclass的引用都会消失。我也尝试过transpile选项,但它似乎没有任何效果。

你会尝试排除你的项目中的刷卡,看看我们是否可以隔离这个问题吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52613136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档