【发布时间】:2019-07-04 09:14:45
【问题描述】:
有没有办法在 webpack 中使用自定义的 require 函数?这样就可以代替要求模块的标准方法
const styles = require("styles.css");
import styles from "styles.css";
我可以写这样的东西
const styles = loadStyles("styles.css");
其中 loadStyles 是一个不存在的函数,但 webpack 会以与 require 相同的方式处理它。
这对于在 node.js 中运行单元测试非常方便。由于显而易见的原因,节点无法使用 require 加载 CSS 或任何其他资源文件,因为 require 仅适用于 javascript 模块。但是模拟一个自定义全局函数只是为了单元测试非常简单:
function loadStyles() { return "fake styles"; }
长话短说,我希望能够告诉 webpack loadStyles(或任何其他函数)是新的 require。
【问题讨论】:
-
也许别名会起作用,比如
const loadSomething = require;,然后是const something = loadSomething('module_ref')。 -
嗯,不。不管你怎么命名它,它都是同一个旧的
require函数,所以在节点中调用它来加载一个CSS文件仍然会失败。我希望能够告诉 webpackloadStyles是新的require。 -
啊,我误解了你的问题。
标签: webpack