Require 在 Angular 项目中的行为不同
Require behaves differently in Angular project
如果要写类似const theoretically = require('jasmine-theories');
的东西,需要returns文件的内容。
但是如果设置 declare var require: any;
,那么下一个 **require**
执行步骤在 webpack bootstrap function __webpack_require__(moduleId)
和 return 带有哈希的真实文件路径,而不是内容(例如 'file.65465436547.js').
我发现文件加载器有这样的行为https://www.npmjs.com/package/file-loader。
我可以假设根据 declare var require: any;
require 取自 NodeJS 或 File-装载机.
对吗?是否有更明显的方法以及何时使用它们中的每一个?
在 Angular 应用程序的情况下,我如何配置 File-loader 以另一种方式运行? Angular CLI 不提供 webpack.config,因此无需任何配置即可安装加载程序。
总的来说,问题可以缩短为:
为什么在一种情况下需要returns内容而在另一种情况下需要文件名?
不要使用要求,使用
import { theoretically } from 'jasmine-theories';
这是 webpack tree shakable。
看起来在 declare var require: any;
之前使用 Node JS 的默认方法。但是在显式声明 FileLoader 的方法之后变得可见。并且由于它具有默认导出 - 需要使用切换到 FileLoader 的使用。
如果要写类似const theoretically = require('jasmine-theories');
的东西,需要returns文件的内容。
但是如果设置 declare var require: any;
,那么下一个 **require**
执行步骤在 webpack bootstrap function __webpack_require__(moduleId)
和 return 带有哈希的真实文件路径,而不是内容(例如 'file.65465436547.js').
我发现文件加载器有这样的行为https://www.npmjs.com/package/file-loader。
我可以假设根据 declare var require: any;
require 取自 NodeJS 或 File-装载机.
对吗?是否有更明显的方法以及何时使用它们中的每一个?
在 Angular 应用程序的情况下,我如何配置 File-loader 以另一种方式运行? Angular CLI 不提供 webpack.config,因此无需任何配置即可安装加载程序。
总的来说,问题可以缩短为:
为什么在一种情况下需要returns内容而在另一种情况下需要文件名?
不要使用要求,使用
import { theoretically } from 'jasmine-theories';
这是 webpack tree shakable。
看起来在 declare var require: any;
之前使用 Node JS 的默认方法。但是在显式声明 FileLoader 的方法之后变得可见。并且由于它具有默认导出 - 需要使用切换到 FileLoader 的使用。