require('module/component') when component.js 不在模块根目录中?
require('module/component') when component.js is not in module root?
我正在尝试创建一个包含几个 React 组件的 npm 包。这些将用于其他几个项目,因此我希望将它们放在一个单独的包中。
我希望能够require('comps/a-component')
从使用此包的应用程序中进行。我可以通过将所有组件放在模块的根目录中来做到这一点,但我不想那样做。相反,我想将所有组件都放在 src/components/ 中,因为根目录会人满为患。
这似乎是一件微不足道的事情,但我还没有成功。我浏览了 https://docs.npmjs.com/files/package.json 试图找到一个选项来设置根或其他东西。有人对如何实现这一点有任何想法吗?
谢谢!
如果你的应用是这样的:
- AppFolder
|-index.js
|-Readme.md
|-/src
|-app.js
|-anotherThing.js
如果我想使用anotherThing.js
,我可以直接使用var anotherThing = require('./src/anotherThing');
。除非我不明白你的问题。
您可以在 node_modules 目录中创建符号链接到您的组件目录。这将允许您像您所说的那样从应用程序的任何位置请求您的组件:require('comps/a-component')
。要在 linux 或 osx 上创建符号链接,您可以这样做
cd ./node_modules; ln -snf ../src/components comps;
另一种选择是从每个组件实际创建 npm 包,这样您就可以将它们列在 package.json.
的依赖项中
在 npm 2.0 中发布的另一个有前途的选项是本地依赖项。这允许您指向文件系统上的本地 npm 包。在这种情况下,每个组件都必须写成带有 package.json https://docs.npmjs.com/files/package.json#local-paths
的 npm 包
我正在尝试创建一个包含几个 React 组件的 npm 包。这些将用于其他几个项目,因此我希望将它们放在一个单独的包中。
我希望能够require('comps/a-component')
从使用此包的应用程序中进行。我可以通过将所有组件放在模块的根目录中来做到这一点,但我不想那样做。相反,我想将所有组件都放在 src/components/ 中,因为根目录会人满为患。
这似乎是一件微不足道的事情,但我还没有成功。我浏览了 https://docs.npmjs.com/files/package.json 试图找到一个选项来设置根或其他东西。有人对如何实现这一点有任何想法吗?
谢谢!
如果你的应用是这样的:
- AppFolder
|-index.js
|-Readme.md
|-/src
|-app.js
|-anotherThing.js
如果我想使用anotherThing.js
,我可以直接使用var anotherThing = require('./src/anotherThing');
。除非我不明白你的问题。
您可以在 node_modules 目录中创建符号链接到您的组件目录。这将允许您像您所说的那样从应用程序的任何位置请求您的组件:require('comps/a-component')
。要在 linux 或 osx 上创建符号链接,您可以这样做
cd ./node_modules; ln -snf ../src/components comps;
另一种选择是从每个组件实际创建 npm 包,这样您就可以将它们列在 package.json.
的依赖项中在 npm 2.0 中发布的另一个有前途的选项是本地依赖项。这允许您指向文件系统上的本地 npm 包。在这种情况下,每个组件都必须写成带有 package.json https://docs.npmjs.com/files/package.json#local-paths
的 npm 包