>

정수에 regExp가 있습니다 :

export const Constants = {
    QUERY_PARAM_CONFIG: {
        REGEX: /\+/gi,
        REGEX_ENCODED: /%2B/g
    }
};

그러나 빌드를 실행하면 오류가 발생합니다 :

ERROR in app\app.module.ts(58,21): Error during template compile of 'AppModule'
  Expression form not supported in 'Constants'
    'Constants' contains the error at app\configuration\constants.ts.

npm 빌드 스크립트 :

ng build --prod --output-hashing none --sourcemaps=true

아이디어가 있습니까?


  • 답변 # 1

    정규 리터럴은 AOT에서 지원하지 않습니다. 지원되는 구문 목록을 참조하십시오.

    작동하려면 정규식을 지원되는 것으로 변환하십시오. 문자열 :

    const before = /\+/gi, // before, could be the same as below
    const after = { re: '\\+', flags: 'gi' }
    const canBeUsedAs = new RegExp(after.re, after.flags);
    
    

    이것으로 여전히 RegExp의 의미를 전달하고 런타임에 필요할 때마다 즉시 생성 할 수 있습니다

관련 자료

  • 이전 date - 1 년 동안 시간 범위 내에있는 데이터를 Oracle DB에 쿼리
  • 다음 language lawyer - 괄호 안에 return 문이있는 C ++ nrvo/copy elision