pdfmake - fs.readFileSync不是函数错误

时间:2017-04-03 13:33:11

标签: node.js webpack pdfmake

我试图使用这个lib:https://www.npmjs.com/package/pdfmake。 我用npm安装了它,我用webpack 2导入它。

浏览器控制台显示以下错误:

  

fs.readFileSync不是函数错误

图书馆网站中的示例是导入javascript文件并生成PDF,前端的所有内容。但是这段代码似乎是服务器端的nodejs代码。那令人困惑。

这是我的webpack.config文件

let webpack = require('webpack');
let path = require('path');

module.exports = {
  entry:'./main.js',
  output: {path: __dirname, filename:'bundle.js'},
  node: {
    fs: "empty"
  },
  module:{
    loaders:[{
      test: /.jsx?$/,
      loader: 'babel-loader',
      exclude: /node_modules/,
      query: {
        presets:['es2015','react','stage-1'],
        plugins: [
          'transform-decorators-legacy'
        ]
      }
    },
      { test: /\.css$/, loader: "style-loader!css-loader" },
      { test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: "url-loader?limit=10000&minetype=application/font-woff" },
      { test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: "file-loader" },


      {
        test: /\.scss$/,
        use: [{
          loader: "style-loader" // creates style nodes from JS strings
        }, {
          loader: "css-loader" // translates CSS into CommonJS
        }, {
          loader: "sass-loader" // compiles Sass to CSS
        }]
      }
    ]
  }
}

我尝试更改fs:true,但后来我从webpack本身收到以下消息:

  

错误:node.js核心模块没有浏览器版本' fs'可用

如何处理此问题?

提前致谢

2 个答案:

答案 0 :(得分:0)

查看他们的源代码,看起来他们有一个fs替代here,并且在他们的网络包中,他们只是加载它并给它一个' fs'别名来模拟节点的fs。

resolve: {
    alias: {
        fs: path.join(__dirname, './src/browser-extensions/virtual-fs.js')
    }
},

答案 1 :(得分:0)

如果要在前端模式下使用它,则需要明确要求它:

.coverage
coverage.xml