Require在Angular项目中的行为不同



如果要编写类似const theoretically = require('jasmine-theories');的内容,则 require返回文件的内容。 但是如果要设置declare var require: any;,那么接下来**require**执行步骤在 webpack 引导程序function __webpack_require__(moduleId)中并返回带有哈希的真实文件路径,而不是内容(例如'file.65465436547.js')。

我发现文件加载器 https://www.npmjs.com/package/file-loader 有这样的行为。

我可能会假设根据declare var require: any;要求取自NodeJS文件加载器

这是对的吗?有没有更明显的方法如何以及何时使用它们中的每一个?

在 Angular 应用程序的情况下,我如何配置文件加载器以另一种方式运行?Angular CLI不提供webpack.config,因此加载器只是在没有任何配置的情况下安装。

总的来说,这个问题可以缩短为:

为什么在一种情况下要求返回内容,在另一种情况下要求返回文件名?

不要使用require,使用

import { theoretically } from 'jasmine-theories';

这是可摇晃的网包树。

看起来在从 Node JS 使用默认方法之前declare var require: any;。但是在显式声明文件加载器的方法变得可见之后。并且由于它具有默认导出 - 要求用法切换到文件加载器的一个。

最新更新