如何导入由nodejs中的webpack目标生成的“ main”以外的其他文件?

时间:2019-03-30 23:36:10

标签: node.js webpack

我正在使用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,但不适用于scoped package name

1 个答案:

答案 0 :(得分:0)

Axel Rauschmayer博士撰写的精彩Setting up multi-platform npm packages文章解释了如何实现自己想要的。

Node.js只会查看main的{​​{1}}字段来解析模块,因此您应该在其中放置package.json的路径。捆绑浏览器代码(即Webpack,汇总)的构建器将首先另外查看build/test-node.j字段(如果为browser),您应在其中指定指向target: web的路径。因此,您的package.json应该如下所示:

build/test-web.j