Webpack覆盖require的行为

时间:2018-10-22 20:27:33

标签: json webpack

我有一个要在我的webpack中导入的模块,其功能如下:

'use strict';

module.exports = {
  position: true,
  gfm: true,
  commonmark: false,
  footnotes: false,
  pedantic: false,
  blocks: require('./block-elements.json')
};

Webpack如下重写该模块:

module.exports = {
  position: true,
  gfm: true,
  commonmark: false,
  footnotes: false,
  pedantic: false,
  blocks: __webpack_require__(/*! ./block-elements.json */     "./block-elements.json")
};

然后另一个函数假定 blocks 成员是字符串。

是否有一种方法可以覆盖 webpack_require 的编写并将其替换为我自己的函数,该函数将json加载为字符串?

1 个答案:

答案 0 :(得分:0)

最后通过编写我自己的加载程序并在显式导出的模块上设置默认属性进行了修复。

// Code for the loader
module.exports = function(source) {

  // Just inline the source and fix up defaults so that they don't
  // mess up the logic in the setOptions.js file
  return `module.exports = ${source}\nmodule.exports.default = false`;
}

另一个脚本正在枚举返回对象的键,而“默认”键将其弄乱了。但是,如果键的类型为布尔值,它将允许它通过。

具体来说,remark解析器库用于在react控件中托管markdown是个问题。