繁体   English   中英

使用现有的JS“包”和Node.JS?

[英]Use existing JS “package” with Node.JS?

我有一些现有的JS代码,将作为NPM软件包发布。 我们称之为“ my-pkg”。 我已经创建了package.json并安装了新的本地包。 我的程序包包含以下文件:

  • 我-pkg.js
  • 的package.json

我-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模块都必须通过module.exports导出其内容。 您的文件中缺少以下内容:

module.exports.ping = ping;

这也很好( exports最初分配给module.exports ):

exports.ping = ping;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM