Skip to content

使用build --target lib --name libname [entry] 编译后文件不可用 #2643

Closed
@fengpeng

Description

@fengpeng

Version

3.0.4

Reproduction link

https://github.com/ElemeFE/element

Node and OS info

Node 8.x / yarn v1.10.1/ Mac

Steps to reproduce

  1. 随意新建( vue create )项目
  2. 添加 --target lib --name 等等信息到package.json buidl命令, 添加main字段, 指定到 [libname].common.js
  3. 编译之后link到某本地项目( 比如用 vue create 新建一个 ), 并添加
  4. 运行项目

What is expected?

正常运行

What is actually happening?

pptest.common.js?c837:1 Uncaught TypeError: Cannot assign to read only property 'exports' of object '#'


应该是下面这段代码引起的错误, 切换到webpack 3版本似乎没有复现此问题.
// webpack_require.r = function(exports) {
/
/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
// Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/
/ }
// Object.defineProperty(exports, '__esModule', { value: true });
/
/ };

PS: 开始以为是commonjs的文件不被接受, 后来发现element-ui是这个格式且完全无压力, 遂追踪.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions