首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack未能转接从npm封装中导入的模块

Webpack未能转接从npm封装中导入的模块
EN

Stack Overflow用户
提问于 2018-01-26 11:10:03
回答 1查看 78关注 0票数 0

我已经用这个.babelrc创建了一个npm包

代码语言:javascript
复制
{
  "presets": ["stage-3"]
}

webpack.config.js中的这一部分

代码语言:javascript
复制
module: {
  rules: [
    {
      test: /\.jsx?/,
      include: APP_DIR,
      loader: 'babel-loader'
    }
  ]
]

源代码包括如下内容:{ ...oldObject },所以新闻ES6特性,它编译很好。

但是,在另一个项目中,我实际上需要这个包,我在package.json中有这个

代码语言:javascript
复制
"dependencies": {
  "r2d2": "git+ssh://git@xxxxxxxx:~/r2d2"
}

.babelrc包括:

代码语言:javascript
复制
{
  "presets": [
    "env",
    "stage-3"
  ]
}

webpack.config.js部分也是一样的。但是,如果我试图从这里编译,webpack抛出了这个错误:

代码语言:javascript
复制
ERROR in ./node_modules/r2d2/src/js/main.js
Module parse failed: Unexpected token (80:12)
You may need an appropriate loader to handle this file type.
|           .keys(Actions)
|           .reduce((result, key) => ({
|             ...result,
|             [key]: Actions[key](id)
|           }), {})
@ ./src/js/main.js 5:23-51

为什么是这样,我能做些什么来防止这种情况发生?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-26 17:38:12

代码语言:javascript
复制
include: APP_DIR,

具体地说,只编译APP_DIR中的东西。

代码语言:javascript
复制
./node_modules/r2d2/src/js/main.js

不在该文件夹中,因此不会进行编译。

最简单的解决方法是将加载程序配置扩展到

代码语言:javascript
复制
rules: [
  {
    test: /\.jsx?/,
    include: [
      APP_DIR,
      __dirname + "/node_modules/r2d2",
    ],
    loader: 'babel-loader'
  }
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48460181

复制
相关文章

相似问题

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