Webpack 会导致捆绑包输出中的语法错误
Webpack causes syntax error in bundle output
我已经为一个我认为是由 Webpack 引起的问题而苦苦挣扎了一段时间。
从本质上讲,我有一个基于节点的应用程序,我正在与 Webpack 捆绑在一起以服务于客户端(它是一个基于 ReactJS 的应用程序)。当我安装桌面 NPM 包并对其进行require
时出现问题。
尝试在浏览器中加载 Webpack 创建的bundle.js
时,出现语法错误:
Uncaught SyntaxError: Unexpected identifier
在bundle.js
抱怨这条线:
target[capName] = __webpack_require__(387)(""path + '/' + name);
经过一番挖掘,我发现这条线起源于Hoek库中的一行(这是Tabletop的子依赖项):
target[capName] = require(path + '/' + name);
显然,Webpack在这里做了一些时髦的事情。
不过,我无法找出原因。桌面包括一个 NodeJS 使用示例,我能够 Webpack 并运行良好。
我还克隆了Hoek和Webpacke,没有看到任何像上面这样的非法转换。
所以现在,我不确定这是Webpack,Hoek还是桌面问题,这就是我在这里发布它的原因。
我在这里或GH上没有发现任何相关问题。
所有的帮助感谢!
我在添加时已经成功地使用了superagent
plugins.push(new webpack.DefinePlugin({ "global.GENTLY": false }));
和 node: {__dirname: true}
的配置修复superagent
用于 webpack。
使用 request
库时,将以下内容添加到 webpack 的配置中:
node: {
"net": "empty"
}
修复Uncaught Error: Cannot find module "net"
.
但是,我现在遇到了 mime 库的问题,它是 request
的依赖项:Error: ENOENT, no such file or directory '/types/mime.types'
Aksel,您是否成功地使用webpack修复了request
?
事实证明,由于上面显示的动态需求行,hoek
包的过时嵌套依赖项导致了这种情况。这已在 hoek@2.0.0 中删除。
不幸的是,Tabletop 的 request
dep 有一个过时的hawk
依赖关系,这又取决于hoek
.我分叉了request
并提高了版本,但现在我在浏览器中加载时收到不同的错误:
Uncaught Error: Cannot find module "net"
net
是一个核心的 Node 模块,所以我怀疑这里发生了什么,因为我们正在 Webpack 服务器端 JS 在浏览器中运行它。然而,这是一个不同的问题,所以我认为这里的原始问题得到了回答。
但我仍然无法使用桌面。我可能不得不将其浏览器化并直接使用该捆绑包。
- Datetime格式为Friendly Time.Moment JS输出错误
- 一个ajax循环有两个输出错误innerHTML
- Jasmine与Jasminece:输出错误到控制台
- 函数中输出错误的错误消息
- jQuery click()多次输出错误按钮的信息
- Javascript InnerHTML 输出错误
- 石头剪刀布蜥蜴斯波克游戏逻辑偶尔会输出错误的赢家,我不知道为什么
- JavaScript 控制台.log输出错误的数组长度
- 安装程序 prerender.io 仅从 PhantomJS 输出错误消息
- 聊天应用输出错误 - 角度.JS
- javascript中的字符串串联输出错误的结果
- Webpack输出错误的图像路径
- Google Groups API输出错误
- Gulp-remember似乎输出错误的路径
- Javascript输出错误
- 网页浏览器输出错误
- Javascript Date toJSON()输出错误的日期
- Javascript程序不断输出错误的数组索引
- D3线性色阶输出错误
- Javascript在浏览器中输出错误