所有npm包都需要导出吗?

时间:2015-04-29 03:33:38

标签: node.js

我是nodejs软件包的新手,我的理解是分享代码,你必须做一个module.export(除了添加一个package.json)

例如bootstrap-select没有导出功能,但在npm上可用。

所以我的问题是所有模块都需要导出,我也可以在我的代码中执行require('bootstrap-select')吗?

3 个答案:

答案 0 :(得分:3)

不,所有npm模块都不需要导出npm现在更普遍地用于不仅用于在node.js下使用的javascript包,而是用于浏览器,CSS库等的前端代码。至少,npm包可以只传递文件的有效负载甚至不包括任何javascript,例如一些图像,一些CSS,一些HTML等等。

因此,如果该软件包包含require('some-module')文件或已在其index.js文件中正确设置main属性,则您只能package.json。< / p>

但是,如果正在为node.js创作javascript模块,那么是的,您需要导出一些内容才能让您的模块正确加载。

答案 1 :(得分:1)

不,npm模块不需要对module.exports执行某些操作。如果您没有触摸该对象,require您的模块将返回一个空对象(因为这是module.exports的默认值。但是,如果您的模块仅用于副作用,而不是返回值。

例如,您链接的模块通过附加jQuery事件处理程序来修改全局状态。

答案 2 :(得分:0)

As per i know ,
1.All npm modules are not required to build an app.
2.If we use var bootStrap = require('bootstrap-select'); using bootStrap variable you can access bootStrap module.
so we can pass that object in anywhere of your code
3.To install a dependency modules,
In package.json give dependency block as like this
"dependencies": {
"express": "2.3.12",
"jade":   "latest",
"redis":   "0.6.0"
}
you can change and edit your packages. then enter a command npm install in command prompt it will install only dependency modules.
If i made any mistakes please correct me Thanks.