我正在使用webpack
构建的javascript库。该项目将针对两个目标web
和node
建立。我按照以下链接的说明进行操作:https://webpack.js.org/concepts/targets/在webpack中设置多个目标。它工作正常,并生成两个目标文件build/test-web.js
和build/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
。
答案 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