Nodejs的自定义模块加载中的坑

加载自定义模块有两种方式:

  • 按文件路径加载模块
  • 通过查找node_modules目录加载模块

按文件路径加载

这种方式需要掌握的知识要点是路径应该如何写:如果require的参数以“/”开头,那么就以绝对路径的方式查找模块名称;如果以“./”或“../”开头,那么就以相对路径来查找模块,这种方式用得最多:

  • require('./list')表示在同一文件夹下查找并加载list.js;
  • require('../list')表示在上一级文件夹下查找并加载list.js

通过查找node_modules目录加载模块

这种方式需要自己在node_modules目录下以自定义模块的名字建立目录,比如:“list”;然后在list目录中至少创建两个文件:第一、主执行文件,如:start.js;第二、package.json文件。
如果主执行文件不是以index.js命名的,那么package.json中至少包含一个参数:main。这里注意有一个坑:package.json中不能使用“'”,json的key也不能不用引号,所以下面两种方式都是错误的:

第一

{
    main:"list.js"
 }

第二

{
   'main':'list.js'
}

正确的写法应该是:

{
   "main":"list.js"
}

或者

{
   "main":"list"
}

你可能感兴趣的:(Nodejs的自定义模块加载中的坑)