npm link遇到的import export 报错问题

3,669 阅读1分钟

www.jianshu.com/p/ca252cd66…

为什么报错

如果使用下载的 npm package,那么 Webpack 在项目引入前将代码编译成 ES6 模块语法,所以这时候不会报错。

如果使用 npm link 会将 npm 包放在本机的全局 /node_modules 下,新项目的 /node_modules 下只是一个软链接(快捷方式)。而不在新项目 /node_modules 下的文件都不会预先编译成 ES6 模块方法。在项目里引入也就等同于下面代码:

// B.js module.exports = { }

// A.js import "B.js" 而这两种语法混合使用就会报错:

"export 'default' (imported as 'xxx') was not found in 'xxxx 解决方法

我简单搜索了一下没找到什么解决方法(真的不知道要怎么搜这种问题了)。所以现在最笨的方法就是每次 yarn run build 后将 /dist 目录拷到别的项目的 /node_modules 下,然后在那个项目引入就可以了。