Я не могу заставить работать модуль npm в верхнем регистре - PullRequest
0 голосов
/ 24 января 2020

Я установил npm модуль upper-case следующим образом

npm install upper-case

После этого я выполнил следующий код в узле.

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)

Почему? Что происходит!?

Ответы [ 3 ]

1 голос
/ 29 января 2020

Действительно странно ... Но, кажется, следующее работает по какой-то причине. Я не мог найти это нигде в оригинальной документации 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);
0 голосов
/ 24 января 2020

ECMAScript 6: toUpperCase ()

предоставляет функцию toUpperCase (), которая используется для преобразования строки в верхний регистр

, поэтому вам не нужно использовать дополнительную библиотеку для преобразования вашей строки в верхний регистр

  res.write(("Hello World!").toUpperCase()); // try this out 
0 голосов
/ 24 января 2020

Сделайте ваш импорт следующим образом

import { upperCase } from "upper-case";

И попробуйте?

этот пакет экспортирует

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

Так что вы не можете импортировать свое собственное имя uc .

Использовать, как описано в репо.

...