【发布时间】:2020-01-01 18:14:16
【问题描述】:
我正在使用库pdfkit,它使用fontkit,其中硬编码require('fs'),无论您是在客户端还是服务器上使用它。
现在项目在 React 中,使用 Webpack 1 进行打包。该问题的常规解决方法是使用以下 webpack 配置。
module: {
loaders: [
{
test: /\.json$/,
loader: 'url-loader'
},
{
test: /node_modules\/(pdfkit|fontkit|png-js|linebreak|unicode-properties|brotli)\ //,
loader: "transform-loader?brfs"
},
],
},
这适用于 MacOS、Linux 和 Docker 容器但现在适用于 Windows 10 工作站。我找不到遇到同样问题的人。
已编辑以下问题未完全解决
我设法通过在node_modules/fs/index.js 文件中硬编码的以下假库来克服它:
class fsClass {
readFileSync (file) {
return new Promise((resolve) => resolve('fake readFileSync: ' + file));
}
}
const fs = new fsClass();
module.exports = fs;
该项目以这种方式编译它并且正在运行,但我仍然认为这不是正确的决定。任何帮助/想法将不胜感激!
谢谢!
【问题讨论】:
标签: node.js windows webpack fs pdfkit