Dra*_*cir 55 javascript node.js npm package.json
我的问题涉及我希望作为NPM模块发布的现有库.该库已在使用中,目前require
通过本地文件系统.
如何指定模块文件的根目录?
如果我有一个像这样的结构:
.
??? package.json
??? src
| ??? js
| ??????? lib
| ?????????? my
| ?????????????? thing.js
| ?????????????? that.js
Run Code Online (Sandbox Code Playgroud)
如何指定模块的根目录和可访问的文件src/js/lib/my/
?
我想从外部项目中使用如下:
var thing = require('my/thing'),
that = require('my/that');
Run Code Online (Sandbox Code Playgroud)
我"files"
在package.json中看到了这个属性,这是正确的方法吗?
小智 11
对于本机解决方案,请参阅此节点问题https://github.com/nodejs/node/issues/14970
功能请求建议mainDir
在main旁边的package.json中有一个字段.
投票的人越多,实施的速度越快/越可能
正如文件所说:
主要字段是模块ID,它是程序的主要入口点.
所以你"main": "src/js/lib/my/app.js"
在package.json文件中会有类似的东西.
我建议你创建一个app.js
文件和module.exports
你不同的孩子.例如:
module.exports.thing = require('./thing');
module.exports.that = require('./that');
Run Code Online (Sandbox Code Playgroud)
并像这样使用它们:
var mylib = require('mylib')
, thing = mylib.thing
, that = mylib.that;
Run Code Online (Sandbox Code Playgroud)
package.json
主要是用于npm
安装和管理依赖项的文件。
该require
构造不太关心,package.json
因此您将无法使用它来破坏require
工作方式并使其相信包不在require
加载方案期望的位置。
请参阅https://nodejs.org/api/modules.html上的文档和此处的加载方案:https : //nodejs.org/api/modules.html#modules_all_together
您可以使用文档中称为“从全局文件夹加载”的技术并定义NODE_PATH
环境变量。
但我建议您坚持使用更标准的方式: - 将模块放在 node_modules 目录中 - 或者在 app.js 或 index.js 所在的同一目录中启动模块层次结构
归档时间: |
|
查看次数: |
19155 次 |
最近记录: |