【发布时间】:2015-12-05 08:40:14
【问题描述】:
我有以下 Node.js 模块/npm 包:
|- dist/
|- - requirejs/
|- - - [stuff in amd pattern ...]
|- - node/
|- - - index.js
|- - - submodules/
|- - - - submodule1.js
|- - - - [submodule2.js etc.]
|- package.json
|- README.md
我可以通过模块名称要求dist/node/index.js(因为我将它设置为 package.json 中的主入口点文件),如下所示:
var myModule = require('myModule');
我想通过这样做来要求子模块(如 AMD 模式):
var mySubmodule = require('myModule/submodules/submodule1');
这会在 Node.js 中引发错误。问题是,Node.js 需要其 dist/node/ 子目录中的主文件,但仍将模块根目录作为工作目录。
假设存在以下结构:
|- dist/
|- - node/
|- - - index.js
|- submodules/
|- - submodule1.js
|- package.json
|- README.md
现在做require('myModule/submodules/submodule1') 就可以了。
现在的问题: 是否有任何设置/配置将“模块命名空间”或工作目录设置为主文件所在的目录,或者我真的需要放置子模块文件夹进入项目根目录,使其无需执行require('myModule/dist/node/submodules/submodule1')即可访问?
【问题讨论】:
标签: javascript node.js npm require node-modules