我使用的是 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/