我有一些现有的JS代码,将作为NPM软件包发布。我们称之为“ my-pkg”。我已经创建了package.json
并安装了新的本地软件包。我的程序包包含以下文件:
my-pkg.js
package.json
my-pkg.js
function ping() {
console.log("Hi!");
}
package.json
{
"name": "my-pkg",
"version": "1.0.0",
"description": "My test package.",
"main": "my-pkg.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Me",
"license": "ISC"
}
我尝试像这样使用我的包:
npm install .\my-pkg
node
> var myPkg = require("my-pkg");
undefined
> myPkg.ping();
TypeError: undefined is not a function
请注意,这是在Windows 8上带有Node.JS v0.12.2的提升的命令行中。我希望公开现有的JS功能,而不是编写全新的NPM软件包。我在这里想念什么?
最佳答案
所有Node.js modules必须通过module.exports
导出其内容。您的文件中缺少以下内容:
module.exports.ping = ping;
这也很好(最初将
exports
分配给module.exports
):exports.ping = ping;
关于javascript - 使用现有的JS“包”和Node.JS?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30241670/