2017-05-03 75 views
2

我想以編程方式打印一些pdf文檔。我現在想花幾個小時來使this PDFkit library與webpack一起工作。如何在webpack中使用PDFkit庫?

我已經走了形式:

Can't resolve 'fs' in ..

fs.readFileSync is not a function

然後警告

[BABEL] Note: The code generator has deoptimised the styling of "E:/MyProjects/accountingsystem/node_modules/brotli/dec/dictionary-da 
ta.js" as it exceeds the max of "500KB". 

然後

require is not defined - 我卡在這裏。所有這些錯誤都來自圖書館本身。

我剛纔一個文件 - app.js只有代碼一行,這就是:

const PDFDocument = require('pdfkit');

我最後webpack.config.js看起來是這樣的:

module.exports = { 
// devtool: 'source-map', 

entry: './src/app.js', 
output: { 
    path: path.resolve (__dirname, "dist"), 
    filename: "bundle.js" 
}, 

// node: { 
//  console: true, 
//  fs: 'empty', 
//  net: 'empty', 
//  tls: 'empty' 
// }, 

// i've added 'target' - following the advice form some github comments. 
target: 'node', 
module : { 
    rules : [ 
     { test: /\.js$/, loader: 'babel-loader' }, 
     { 
      test : /\.html$/, 
      use : [ 'html-loader' ] 
     }, 

     // then i've added this 2 loaders also: 
     { test: /\.json$/, loader: 'json-loader' }, 
     { test: /pdfkit|png-js/, loader: "transform-loader?brfs" } 
    ] 
}, 
plugins:[ 
    new HtmlWebpackPlugin ({ 
      template : `src/app.html` 
    }) 
], 

};

這實際上是一個1行的應用程序,我現在打了幾個小時的牆。我看到很多用戶在使用fs核心模塊和webpack時遇到了問題 - 我嘗試了所有我能找到的解決方案。它能有多難?這裏究竟發生了什麼?感謝任何見解。

回答

1

這有可能使其與工作的WebPack。

pdfmake是圍繞pdfkit的包裝與運作的WebPack。正如你所看到的,webpack.config.js是一種哈克:

https://github.com/bpampuch/pdfmake/blob/master/webpack.config.js

就個人而言,我結束了pdfmake,它提供了一個內置的js文件的工作。 我你這樣做,你必須調整你的webpack.config,使用resolve.alias場指向pdfmake建js文件。