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);