类型错误 [ERR_INVALID_ARG_TYPE]:“数据”参数必须是字符串类型或 Buffer、TypedArray 或 DataView 的实例

cmu*_*zer 5 javascript node.js webpack jestjs

我们的构建环境目前使用 node 12.19.0 和 npm 6.14.8。当我看到节点 14.15.1(仍然是 npm 6.14.8)的新 LTS 版本可用时,我下载了它并运行我们的 webpack 构建脚本并收到此错误。新版本的节点是否抱怨一直存在但被 12.19.0 忽略的错误?

internal/fs/utils.js:781
  throw new ERR_INVALID_ARG_TYPE(
  ^

TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received an instance of XMLElement
    at writeFile (fs.js:1436:5)
    at go$writeFile (/Components/node_modules/graceful-fs/graceful-fs.js:131:14)
    at Object.writeFile (/Components/node_modules/graceful-fs/graceful-fs.js:128:12)
    at /Components/node_modules/jest-html-reporter/dist/main.js:47:13
    at /Components/node_modules/mkdirp/index.js:48:26
    at callback (/Components/node_modules/graceful-fs/polyfills.js:295:20)
    at FSReqCallback.oncomplete (fs.js:184:5) {
  code: 'ERR_INVALID_ARG_TYPE'
}
Run Code Online (Sandbox Code Playgroud)

Gur*_*der 2

向 writeFileSync 添加第二个参数

代替:

fs.writeFileSync(`${folderName}/styles.css`);
Run Code Online (Sandbox Code Playgroud)

做这个:-

fs.writeFileSync(`${folderName}/styles.css`, '');
Run Code Online (Sandbox Code Playgroud)

它告诉 wfs 将什么内容写入文件。可以留空