我正在尝试使用 WebPack 来包含“摊牌”。问题是摊牌将需要(“fs”)并检查返回值。这使得 WebPack 抛出错误。
似乎应该可以将 Webpack 配置为生成 shim,以便调用 require("fs") 将返回 false。
也许其中一种技术可能有效:http ://webpack.github.io/docs/shimming-modules.html
这是 Showdown.js 代码。如果我在节点模块目录中注释掉这段代码,问题就解决了。但是,应该有更好的方法。
//
// Automatic Extension Loading (node only):
//
if (typeof module !== 'undefind' && typeof exports !== 'undefined' && typeof require !== 'undefind') {
var fs = require('fs');
if (fs) {
// Search extensions folder
var extensions = fs.readdirSync((__dirname || '.')+'/extensions').filter(function(file){
return ~file.indexOf('.js');
}).map(function(file){
return file.replace(/\.js$/, '');
});
// Load extensions into Showdown namespace
Showdown.forEach(extensions, function(ext){
var name = stdExtName(ext);
Showdown.extensions[name] = require('./extensions/' + ext);
});
}
}