ParcelJS 不捆绑导入的 js 库

mah*_*dix 7 javascript node.js typescript parceljs cloudflare-workers

我有一个简单的 NodeJS 应用程序(Cloudflare Worker)。

在主打字稿文件 ( index.ts) 中,我导入处理程序模块,该模块的第一行是: const Monitor = import('ping-monitor')

ping-monitor是 package.json 中的依赖项:

"dependencies": {
    "ping-monitor": "^0.6.2"
  }
Run Code Online (Sandbox Code Playgroud)

现在,当我在 dist 中运行parcel build src/index.ts输出时,有: var $1ZQrD$pingmonitor = require("ping-monitor");

所以内容ping-monitor没有正确捆绑。当我尝试通过wrangler dev(输出是dist/worker.js)在本地运行它时,它会抱怨:Uncaught ReferenceError: require is not defined

我如何告诉 ParcelJSping-monitor在输出中进行捆绑?

And*_*ier 10

默认情况下,parcel 不会捆绑 Nodejs 构建目标的任何依赖项。如果您想捆绑所有依赖项,您可以使用该includeNodeModules选项(请参阅文档),如下所示:

{
   ...
   "main": "dist/worker.js",
   "targets": {
      "main": {
         "includeNodeModules": true
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

(您还可以指定要包含的模块的“白名单”)。