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"
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容