gpt4 book ai didi

node.js - 如何在nodejs中导入webpack目标生成的 `main`以外的其他文件?

转载 作者:太空宇宙 更新时间:2023-11-03 22:20:52 25 4
gpt4 key购买 nike

我正在开发一个由 webpack 构建的 JavaScript 库。该项目将为两个目标构建:webnode。我按照此链接中的说明进行操作:https://webpack.js.org/concepts/targets/在 webpack 中设置多个目标。它工作正常,并生成两个目标文件 build/test-web.jsbuild/test-node.js

文件 build/test-web.js 在 package.json 的 main 属性中列出,如下所示:

"name": "@my-org/test
"main": "build/test-web.js",

这样我就可以通过 require('@my-org/test') 导入此文件。我想知道如何导入另一个文件 build/test-node.js。我知道我可以通过 require('@my-org/test/build/test-node.js') 导入它,但我正在寻找更好的解决方案,使开发人员更轻松地导入它。

我检查了这个库:https://github.com/patrickhulce/generate-export-aliases但它不适用于作用域包名称

最佳答案

有一个很棒的Setting up multi-platform npm packages Axel Rauschmayer 博士撰写的文章解释了如何实现您想要的目标。

Node.js 只会查看 package.json 的 main 字段来解析模块,因此您应该将 build/test- 的路径放在那里 Node .j。捆绑浏览器代码(即 Webpack、Rollup)的构建器将首先另外查看 browser 字段(如果 target: web),您应该在其中指定 的路径>build/test-web.j。所以你的 package.json 应该是这样的:

{
...
"main": "build/test-node.j",
"browser": "build/test-web.j",
...
}

关于node.js - 如何在nodejs中导入webpack目标生成的 `main`以外的其他文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55436606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com