programing

중요 종속성: require 함수는 종속성을 정적으로 추출할 수 없는 방식으로 사용됩니다.

yoursource 2023. 7. 26. 22:42
반응형

중요 종속성: require 함수는 종속성을 정적으로 추출할 수 없는 방식으로 사용됩니다.

"ng serve"에서 아래 경고에 직면한 사람이 있습니까?

WARNING in ./node_dll/@dll/src/dll.js 10:24-31 중요 종속성: require 함수는 종속성을 정적으로 추출할 수 없는 방식으로 사용됩니다 ℹ "wdm": 경고와 함께 컴파일됩니다.

각도 버전 지정:

Angular CLI: 6.0.8 노드: 8.11.3 OS: darwin x64 Angular: 6.0.9 ... 애니메이션, 공통, 컴파일러, 컴파일러-cli, 코어, 폼...http, language-service, platform-syslog... platform-syslog-dynamic, 라우터, 업그레이드

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);
    }
}

저는 이 오류를 발견했고 이것을 발견했습니다: 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';

실수로 가져왔는데 같은 오류가 발생했습니다.EventEmitter부터protractor대신에@angular/core.

변화하는import { EventEmitter } from 'protractor';로.import { EventEmitter } from '@angular/core';고쳤습니다.

앱에서 가져오기를 검색합니다.

비슷한 것을 수입했을 가능성이 높습니다.from '@angular/compiler/foo'실수로

src 경로에서 가져오는 경우 이 주의가 발생함

다음에서 구성 요소 가져오기 문 변경

import { ChangeDetectionStrategy, ViewEncapsulation } from '@angular/compiler/src/core';

로.

import {  ViewEncapsulation, ChangeDetectionStrategy} from '@angular/core';


비슷한 문제를 발견했습니다.

./node_modules/@angular/compiler/src/util.js:10:24-31 - 경고: 중요 종속성: require 함수는 종속성을 정적으로 추출할 수 없는 방식으로 사용됩니다.

JSON.stringify 대신 stringify를 사용하고 이 자동 가져오기(vs 코드 사용)를 다음과 같이 사용한 것을 기억했습니다.

import { stringify } from '@angular/compiler/src/util';

이 자동 가져오기를 제거하고 코드를 JSON.stringify로 수정했습니다.

여기에 덧붙이자면, 매우 비슷하지만 Angular에서 몇 가지를 수입하는 것처럼 보입니다.내가 한 일은 다음과 같습니다.

import {error} from '@angular/compiler/src/util';

실수로 입력했습니다.throw error()대신에throw Error()그걸 가져와서 경고를 울렸습니다

타사 라이브러리를 구현하려고 했기 때문에 이 오류(제목에 표시됨)와 여러 가지 오류가 발생했습니다.

간단히 말해서, 이러한 오류가 발생하면 타사 라이브러리를 살펴 보십시오.제 경우에는 Scanbot.io 의 바코드 스캔 라이브러리였습니다.

이 가져오기 작업에서 발생한 일이 작업은 다음과 같습니다.

import { Message } from '@angular/compiler/src/i18n/i18n_ast';

메시지 인터페이스가 있지만 자동 채우기 가져오기 기능은 위의 기능으로 기본 설정되어 있습니다.

언급URL : https://stackoverflow.com/questions/51319209/critical-dependency-require-function-is-used-in-a-way-in-which-dependencies-can

반응형