vue-cli 3.0 开发程序时,module.exports为undefined,导致第三方js都没有办法引用

  1. 基于vue-cli3.0开发项目时,
 if (typeof module !== 'undefined' && module.exports) { //这里的module.exports为undefined了,但同样的代码在webpack1中是有值的
    module.exports = fecha;
  } else if (typeof define === 'function' && define.amd) {
    define(function () {
      return fecha;
    });
  } else {
    main.fecha = fecha;
  }

以上代码在vue-cli3.0中,会走最后一个else,正常情况下应该走第一个if分支的,这样导致所有的第三方js都不能引用了,是哪里需要什么特殊配置吗,还是哪里我配置错了。。

阅读 6.3k
3 个回答

新的 vue-cli 默认禁止了 commonjs 语法
可以添加 babel 插件解决

yarn add @babel/plugin-transform-modules-commonjs -D

编辑 babel.config.js

module.exports = {
  presets: ['@vue/app'],
  plugins: [
    [
      '@babel/plugin-transform-modules-commonjs',
      {
        allowTopLevelThis: true,
      },
    ],
  ],
}

我也遇到这个问题了,请问是怎么解决的

新手上路,请多包涵

我也遇到了同样的问题。请问楼主解决了嘛?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题