举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > node.js包装成linux可执行文件 Node.js 包

node.js包装成linux可执行文件 Node.js 包

2023-06-09 15:18 Node.js教程

node.js包装成linux可执行文件 Node.js 包

node.js包装成linux可执行文件 Node.js 包

node.js包装成linux可执行文件

Node.js带有自己的包管理系统,称为Node Package Manager(NPM)。有三种Node.js模块:基于文件的模块,核心模块和外部node_modules。如果传递给require函数的模块名称前缀为“./"或“../"或“/",则它假定为是基于文件的模块并加载该文件。否则,我们用相同的名称在核心模块寻找,例如,util调用是require('util')。如果没有找到与此名称匹配的核心模块,则会查找node_module。

包的位置

包存储在当前目录中名为 node_modules 的子目录中。

要确定位置,可使用命令 npm root

查看所有已安装的模块,可使用 npm ls 命令。

安装 commander 模块后,可以使用 npm ls 验证它。

$ npm ls
/npm-test
 |
 +--commander@1.3.2
     |
     +--keypress@0.1.0

上面的代码显示了安装的 commander 模块。树结构表明commander依赖于 keypress 模块。NPM可以识别其依赖性并自动安装任何所需的模块。你可以通过浏览 node_modules 子目录查看已安装的模块。

扫描node_modules

如果文件/home/myUser/project/myData.js有require('myModule')的require调用,Node.js按以下顺序扫描文件系统的node_modules。将返回第一个找到的myModule.js。

/home/myUser/project/node_modules/myModule.js 
/home/myUser/node_modules/myModule.js 
/home/node_modules/myModule.js 
/node_modules/myModule.js 

Node.js在当前每个父文件夹跟随的文件夹中查找node_modules/myModule.js,直到它到达当前文件的文件系统树的根目录或直到找到myModule.js。

c:/hello/myData.js中的以下代码加载了一个模块node_modules/myModule.js。

var myModule = require("myModule"); 
myModule(); // hello node_modules! 

在c:/hello/node_modules/myModule.js下的文件

module.exports = function () {
    console.log("hello node_modules!"); 
} 

如果我们使用基于文件的模块,myModule.js模块看起来完全一样。

基于文件的模块和node_modules之间的唯一区别是扫描文件系统以加载JavaScript文件的方式。 所有其他行为是相同的。

基于文件夹的模块

Node.js将在该文件夹中寻找一个index.js文件,并将其作为模块文件。

下面的代码显示了从文件夹隐式加载index.js。

在bar/bar1.js下的文件

module.exports = function () {
    console.log("bar1 was called"); 
} 

在bar/ bar2.js下的文件

module.exports = function () {
   console.log("bar2 was called"); 
} 

在bar/index.js下的文件

exports.bar1 = require("./bar1"); 
exports.bar2 = require("./bar2"); 

这里是myData.js将使用bar模块的文件,。

var bar = require("./bar"); 
bar.bar1(); 
bar.bar2(); 

注意

以下代码显示如何将基于文件夹的模块更改为node_modules。

我们可以将require调用从require('./bar')更改为require('bar')。

// node_modules/bar/bar1.js 
module.exports = function () {
   console.log("bar1 was called"); 
} 
// node_modules/bar/bar2.js 
module.exports = function () {
   console.log("bar2 was called"); 
} 

// node_modules/bar/index.js 
exports.bar1 = require("./bar1"); 
exports.bar2 = require("./bar2"); 

// myData.js 
var bar = require("bar"); // look for a node_modules module named bar 
bar.bar1(); 
bar.bar2(); 
阅读全文
以上是编程学为你收集整理的node.js包装成linux可执行文件 Node.js 包全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部