Skip to content
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

在 babel @babel/preset-env 配置下,无法 import vux 的 commonjs 模块 #49

Open
hooraygith opened this issue Jan 9, 2018 · 2 comments
Labels

Comments

@hooraygith
Copy link

无法 import TransferDomDirective

报错信息:

image

完整demo见:

https://github.com/hooraygith/vux-loader-test

.babelrc 配置如下:

{
  "presets": [
    ["@babel/preset-env", {
      "useBuiltIns": "usage",
      "modules": false
    }]
  ]
}

useBuiltInsmodules 配置去掉可以打包;

webpack 配置里将 vuxLoader.merge 去掉则可以 import 自己写的 commonjs 模块

@dancon
Copy link

dancon commented Nov 21, 2018

这个问题的原因是 babel 在构建的时候,遇到了 import 和 module.exports 混用的情况,所以你可以按照如下步骤进行排查:

  1. 查看自己的源码中没有 import 和 module.exports 混用的情况
  2. 如果源码中没有找到,有可能是自己的构建的时候将 module.exports 的模块合进去导致的,这种不太好排查,可以严格限制下 webpack module.rules 中为 babel-loader 那条规则加下 include 字段,限制下构建的范围。

@Fun005
Copy link

Fun005 commented Apr 3, 2019

2. 码中没有找到,有可能是自己的构建的时候将 module.exports 的模块合进去导致的,这种不太好排查,可以严格限制下 webpack module.rules 中为 babel-loader 那条规则加下

你好,我本地项目中把源码(node_modules/vux)中混用的改了,这时可以正常运行项目。但是发布到线上时,线上会重新install有问题的vux源码。我要如何保证线上不出错呢?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants