有人在“ ng服务”中面临以下警告吗?
./ node_modules/@angular/compiler/src/util.js中的警告 10:24-31关键依赖项:require函数的使用方式不能静态提取依赖项 「wdm」:带有警告。
角度版本控制:
Angular CLI:6.0.8 节点:8.11.3 操作系统:Darwin x64 角度:6.0.9 ...动画,通用,编译器,compiler-cli,核心,形式 ... http,语言服务,平台浏览器 ...平台浏览器动态,路由器,升级
我尝试更新CLI和Angular,但没有成功。 util.js中的代码如下:
function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define("@angular/compiler/src/util", ["require", "exports"], factory);
}
}
答案 0 :(得分:41)
我收到此错误并找到了:
https://fluin.io/blog/critical-dependency-cannot-be-statically-extracted,作者显示他正在收到相同的警告。但是,我没有使用Angular Elements,但我知道它可能与相同的问题有关,因此我继续检查我是否在所有导入中都使用了@angular/compiler/src/core
。
我确实在这样做。 修复就像删除导入行一样简单,在我的情况下为:
import { ViewEncapsulation } from '@angular/compiler/src/core';
然后编辑器将其自动导入,如下所示:
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
希望对您有帮助。
答案 1 :(得分:18)
当我从EventEmitter
而非protractor
错误导入@angular/core
时遇到了同样的错误。
将import { EventEmitter } from 'protractor';
更改为import { EventEmitter } from '@angular/core';
即可解决。
答案 2 :(得分:0)
我有此错误(如标题所示)和其他几个错误,因为我尝试实现第3方库。
因此,简而言之,如果遇到这些错误,请尝试查看您的第三方库。就我而言,这是Scanbot.io的条形码扫描库。
答案 3 :(得分:0)
在您的应用中搜索导入。
您极有可能误输入了类似于from '@angular/compiler/foo'
的内容。
答案 4 :(得分:0)
如果从src路径导入,则会引发此警告
从以下位置更改组件导入语句
import { ChangeDetectionStrategy, ViewEncapsulation } from '@angular/compiler/src/core';
到
import { ViewEncapsulation, ChangeDetectionStrategy} from '@angular/core';
答案 5 :(得分:0)
这是我从导入中发生的:
import { Message } from '@angular/compiler/src/i18n/i18n_ast';
我有一个Message界面,但自动填充导入功能默认为上述功能之一。
答案 6 :(得分:0)
我发现了一个类似的问题:
<块引用>./node_modules/@angular/compiler/src/util.js:10:24-31 - 警告: 关键依赖:require 函数的使用方式 依赖项不能静态提取
我记得使用 stringify 而不是 JSON.stringify 并且自动导入(使用 vs 代码)为:
import { stringify } from '@angular/compiler/src/util';
我删除了这个自动导入并将代码更正为 JSON.stringify。