node.js - Angular 项目中的 Require 行为不同
问题描述
如果要写类似的东西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或File-loader。
那是对的吗?有没有更明显的方法如何以及何时使用它们?
在 Angular 应用程序的情况下,如何配置 File-loader 以另一种方式运行?Angular CLI不提供webpack.config,因此加载器只是在没有任何配置的情况下安装。
总的来说,这个问题可以简化为:
为什么 require 在一种情况下返回内容而在另一种情况下返回文件名?
解决方案
不要使用要求,使用
import { theoretically } from 'jasmine-theories';
这是 webpack 树可摇动的。
推荐阅读
- c++ - 在求解 2*2 实矩阵的特征向量时阐明机器 epsilon 的影响
- php - 如何在 Woocommerce 电子邮件文本中添加段落?
- python-3.x - BeautifulSoup 解析 soundcloud 追随者
- curl - 使用 curl 保留 HTTP 标头的大小写
- node.js - Node.js 集群 - 每个核心 1 个工作人员会减慢主线程速度?
- c# - 将字符串解析为浮点数返回不正确的结果
- php - 自动删除购物车中的缺货商品,然后通知帐户用户 - Woocommerce
- jmeter - jmeter中计算TPS的方法
- firebase - Firebase 函数预部署:忽略文件夹
- c++ - 为什么标准布局类的成员必须具有相同的访问控制?