我似乎无法让 npm 模块 'upper-case' 正常工作

I can't seem to get the npm module 'upper-case' to work properly

我安装了 npm 模块 upper-case 如下

npm install upper-case

之后,我在node中执行了以下代码。

let http = require('http');
let uc = require('upper-case');
http.createServer( (req, res) => {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write(uc("Hello World!"));
  res.end();
}).listen(8080);

但是,我无法让它工作。我收到以下回复。

TypeError: uc is not a function
    at Server.http.createServer (/.../foo.js:34:13)
    at Server.emit (events.js:189:13)
    at parserOnIncoming (_http_server.js:676:12)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:109:17)

为什么?怎么回事!?

像这样导入

import { upperCase } from "upper-case";

然后试试?

此包导出

/**
 * Upper case as a function.
 */
export function upperCase(str: string) {
  return str.toUpperCase();
}

所以你不能导入自己的名字uc

按照存储库中的描述使用。

ECMAScript 6 : toUpperCase()

提供 toUpperCase() 函数,id 用于将字符串转换为大写

因此,您不需要使用额外的库将字符串转换为大写

  res.write(("Hello World!").toUpperCase()); // try this out 

真的很奇怪...但出于某种原因,以下似乎有效。我在原始 npm 模块文档中的任何地方都找不到这个。任何人都可以解释为什么这样做吗?

let http = require('http');
let uc = require('upper-case');

http.createServer((req, res) => {
    res.writeHead(200, { 'Content-Type': 'text/html' });
    res.write(uc.upperCase("Hello World!"));
    res.end();
}).listen(8080);

这有效(即从 "uc.upperCase" 中删除“.upperCase”):

var http = require('http');
var uc = require('uppercase');

http.createServer(function (req, res) {
          res.writeHead(200, {'Content-Type': 'text/html'});
          res.write(uc("Hello World!"));
          res.end();
}).listen(8080);