文件导入

var foo = require("foo.js");  //没有写./

console.log(foo.msg);

不写./,从node_modules 导入,此文件

 

我们可以使用文件夹来管理模块,比如

1        var bar = require("bar");

那么Node.js将会去寻找node_modules目录下的bar文件夹中的index.js去执行。

 

每一个模块文件夹中,推荐都写一个package.json文件,这个文件的名字不能改。node将自动读取里面的配置。有一个main项,就是入口文件:

1        {

2          "name": "kaoladebar",

3          "version": "1.0.1",

4          "main" : "app.js"

5        }

6         

package.json文件,要放到模块文件夹的根目录去。

 

我们刚才学习了,模块就是一些功能的封装,所以一些成熟的、经常使用的功能,都有人封装成为了模块。并且放到了社区中,供人免费下载。

这个伟大的社区,叫做npm。 也是一个工具名字  node package management

https://www.npmjs.com/

 

去社区搜索需求,然后点进去,看api。

如果要配置一个模块,那么直接在cmd使用

1        npm install 模块名字

就可以安装。 模块名字全球唯一。

安装的时候,要注意,命令提示符的所在位置。

 

 

1.我们的依赖包,可能在随时更新,我们永远想保持更新,或者某持某一个版本;

2.项目越来越大的时候,给别人看的时候,没有必要再次共享我们引用的第三方模块。

 

我们可以用package.json来管理依赖。

在cmd中,使用npm init可以初始化一个package.json文件,用回答问题的方式生成一个新的package.json文件。

使用

1        npm install

将能安装所有依赖。

npm也有文档,这是package.json的介绍:

https://docs.npmjs.com/files/package.json

 

require()别的js文件的时候,将执行那个js文件。

 

注意:

require()中的路径,是从当前这个js文件出发,找到别人。而fs是从命令提示符找到别人。

所以,桌面上有一个a.js, test文件夹中有b.js、c.js、1.txt

a要引用b:

1        var b = require(“./test/b.js”);

b要引用c:

1        var b = require(“./c.js”);

 

但是,fs等其他的模块用到路径的时候,都是相对于cmd命令光标所在位置。

所以,在b.js中想读1.txt文件,推荐用绝对路径:

1        fs.readFile(__dirname + "/1.txt",function(err,data){

2               if(err) { throw err; }

3               console.log(data.toString());

4        });

posted @ 2017-11-01 23:09  Erick-LONG  阅读(250)  评论(0编辑  收藏  举报