browserify不会编译快递js

时间:2017-02-13 22:21:45

标签: node.js npm browserify

我写了一个非常基本的express.js应用程序。然后试着把它变成一个.js文件。 Browserify将整个文件编译成一个文件。但是浏览器编译的代码并没有起作用。据我所知,browserify只是用模块代码替换require语句。错误是:

C:\Users\HP\n\express\app.js:27025
  __proto__: http.IncomingMessage.prototype
                                 ^

TypeError: Cannot read property 'prototype' of undefined
    at Object.__dirname.173.accepts (C:\Users\HP\n\express\app.js:27025:34)
    at s (C:\Users\HP\n\express\app.js:1:316)
    at C:\Users\HP\n\express\app.js:1:367
    at Object.__dirname.170../application (C:\Users\HP\n\express\app.js:26823:11)
    at s (C:\Users\HP\n\express\app.js:1:316)
    at C:\Users\HP\n\express\app.js:1:367
    at Object.__dirname.168../lib/express (C:\Users\HP\n\express\app.js:26154:18)
    at s (C:\Users\HP\n\express\app.js:1:316)
    at C:\Users\HP\n\express\app.js:1:367
    at Object.__dirname.153.express (C:\Users\HP\n\express\app.js:24010:15)

1 个答案:

答案 0 :(得分:0)

Browserify 专门用于打包浏览器的代码。

Node.js支持许多模块,浏览器不需要builtins模拟这些模块。这些模块将由特定于浏览器的垫片替换。有些只提供在浏览器中有意义的Node API子集。

因此,您正在运行一个已转换所有Node.js模块的应用程序,以支持在浏览器中运行它可以在模块可用但不再使用的节点中运行。

尝试rollup,或者您可以配置babel以便按需工作