包装多于代码的node.js模块

问题描述:

我正在组建一个我想要发布的模块,但是对于如何最好地将其打包,我有点困惑。除了服务器端JavaScript之外,该模块还需要诸如管理屏幕和客户端JavaScript文件之类的东西。也就是说,它需要提供一组固定的html/css/js文件。 (我可能有节点静态模块作为依赖)包装多于代码的node.js模块

我很好奇什么是处理此问题的最佳方法。我想简化这个过程,将其安装并集成到应用程序中,而不会强制用户挖掘长篇README文件。基本上他们应该能够NPM模块,然后在相关位置添加一行或两行代码,并使其“只是工作”。我不希望他们必须下载其他东西,告诉模块在哪里可以找到静态文件等。

此外,我想确保它可以包含在两个简单的应用程序(即一步来自标准的“hello world”)以及使用Express等框架的复杂应用程序,而没有不必要的麻烦。

这是可能的,还是超出了模块系统设计的范围?

+1

NPM不关心你的包中想要什么样的文件。制作二进制文件以将资产移入到位。 – generalhenry

+0

好的,我可以将它们包含在包中,但是如何在运行时找到它们?就像我想用node-static模块或我自己的代码来提供它们一样,我该如何找到它们? – rob

一旦你的包在安装了npm install mypackage -g您可以使用__dirname您的可执行文件里面找到它在运行的目录。

可能的/usr/local/lib/node_modules/mypackage/bin/mypackage

随着你的资产在/usr/local/lib/node_modules/mypackage/assets

所以__dirname + '../assets' + myasset应该正确地找到你的资产

+0

甜,那会做的伎俩,谢谢! – rob