要求在Angular项目中表现不同

时间:2019-07-11 19:57:30

标签: node.js angular require webpack-file-loader

如果要编写类似const theoretically = require('jasmine-theories');的内容,则要求会返回文件的内容。 但是,如果要设置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应用程序中如何配置File-loader以其他方式运行? Angular CLI 不提供 webpack.config ,因此仅在没有任何配置的情况下安装了加载程序。

总的来说,问题可以简化为:

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

2 个答案:

答案 0 :(得分:1)

不要使用require,请使用

import { theoretically } from 'jasmine-theories';

这是可打包的webpack树。

答案 1 :(得分:0)

在Node JS中使用declare var require: any;默认方法之前。但是,在明确声明FileLoader的方法之后,该方法变为可见。而且由于它具有默认导出功能-需要使用情况已切换为FileLoader的使用情况。