gpt4 book ai didi

node.js - 在 Node 模块中处理 __dirname

转载 作者:太空宇宙 更新时间:2023-11-03 22:28:30 24 4
gpt4 key购买 nike

我使用的是 pdfkit 包,它本身也使用 fontkit。在开发模式下运行包含的 Express 应用程序时,生成 PDF 文件工作正常,但当应用程序与 webpack 捆绑在一起时,解析某些路径似乎不起作用。

我已经提交了 issue ,但我的问题更笼统:

如果 npm 包在某处使用 __dirname 来访问相对路径,我必须如何配置 webpack 来考虑它?

这是我当前的配置:

var Webpack = require('webpack');
var path = require('path');
var buildPath = path.resolve(__dirname, 'build');
var mainPath = path.resolve(__dirname, 'src', 'app.js');

var config = {

target: 'node',
entry: mainPath,
output: {
path: buildPath,
filename: 'bundle.js'
},
node: {
console: 'empty',
fs: 'empty',
net: 'empty',
tls: 'empty',
dns: 'empty',
__dirname: false,
__filename: false
},
module: {
loaders: [
{
test: /\.js$/,
loader: 'babel',
query: {
presets: ['es2015']
}
},
{
test: /\.json$/,
loader: 'json'
},
]
}
};

module.exports = config;

我认为在 fontkit 中导致问题的行是:

var trie = new UnicodeTrie(require('fs').readFileSync(__dirname + '/data.trie'));

最佳答案

您需要在 webpack.config 中将 __dirname 设置为 true

Node :{
__目录名:true
}

关于node.js - 在 Node 模块中处理 __dirname,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41629429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com