NodeJS包输出空字符串
NodeJS package outputting empty string
我正在尝试创建我自己的 NodeJS 包,它使用 chalk 输出彩色字符串,但我得到空字符串作为输出(当我 运行 node test.js
在终端)我尝试在线搜索但找不到任何原因。有谁知道可能导致此错误的原因吗?
index.js 文件
import chalk from 'chalk';
import pkg from 'koa/lib/request';
const { charset } = pkg;
const fontColors = ['red','green','yellow','blue','magenta','cyan',];
export const colourfulLog = (string) => {
const colorString = string.split(' ')
.map(word => {
const randclrindex = Math.floor(Math.random() * fontColors.length);
const randColor = fontColors[randclrindex];
return chalk[randColor][word];
})
.join(' ');
console.log(colorString);
}
test.js 文件
import { colourfulLog } from './index.js';
colourfulLog(' Test the colorful log package');
package.json 文件
{
"name": "colorful-log-ax",
"version": "1.0.0",
"description": "first package",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "AT",
"license": "ISC",
"dependencies": {
"chalk": "^5.0.1"
},
"type": "module"
}
您的 index.js 文件中有一个错误:
return chalk[randColor][word];
你正在使用方括号来动态指定一个方法:chalk[randColor] 就像说 chalk.randColor,那么你必须像这样将它应用于 word
:
return chalk[randColor](word);
我正在尝试创建我自己的 NodeJS 包,它使用 chalk 输出彩色字符串,但我得到空字符串作为输出(当我 运行 node test.js
在终端)我尝试在线搜索但找不到任何原因。有谁知道可能导致此错误的原因吗?
index.js 文件
import chalk from 'chalk';
import pkg from 'koa/lib/request';
const { charset } = pkg;
const fontColors = ['red','green','yellow','blue','magenta','cyan',];
export const colourfulLog = (string) => {
const colorString = string.split(' ')
.map(word => {
const randclrindex = Math.floor(Math.random() * fontColors.length);
const randColor = fontColors[randclrindex];
return chalk[randColor][word];
})
.join(' ');
console.log(colorString);
}
test.js 文件
import { colourfulLog } from './index.js';
colourfulLog(' Test the colorful log package');
package.json 文件
{
"name": "colorful-log-ax",
"version": "1.0.0",
"description": "first package",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "AT",
"license": "ISC",
"dependencies": {
"chalk": "^5.0.1"
},
"type": "module"
}
您的 index.js 文件中有一个错误:
return chalk[randColor][word];
你正在使用方括号来动态指定一个方法:chalk[randColor] 就像说 chalk.randColor,那么你必须像这样将它应用于 word
:
return chalk[randColor](word);