Не удается найти имя «Карта», «Набор», «Символ», «Слабая карта», «Слабый набор» - PullRequest
0 голосов
/ 26 мая 2018

Это новый проект Angular 6.
Все зависимости обновлены.

Ошибка вывода

WARNING in ./node_modules/@angular/core/fesm5/core.js
System.import() is deprecated and will be removed soon. Use import() instead.
For more info visit https://webpack.js.org/guides/code-splitting/
 @ ./src/vendors.ts 5560:15-36 6:0-24

WARNING in ./node_modules/@angular/core/fesm5/core.js
System.import() is deprecated and will be removed soon. Use import() instead.
For more info visit https://webpack.js.org/guides/code-splitting/
 @ ./src/vendors.ts 5572:15-102 6:0-24

ERROR in [at-loader] ./node_modules/@angular/core/src/di/reflective_provider.d.ts:87:123 
    TS2304: Cannot find name 'Map'.

ERROR in [at-loader] ./node_modules/@angular/core/src/di/reflective_provider.d.ts:87:165 
    TS2304: Cannot find name 'Map'.

ERROR in [at-loader] ./node_modules/rxjs/internal/Observable.d.ts:82:59 
    TS2693: 'Promise' only refers to a type, but is being used as a value here.

ERROR in [at-loader] ./node_modules/@angular/core/src/change_detection/differs/keyvalue_differs.d.ts:22:18 
    TS2304: Cannot find name 'Map'.

ERROR in [at-loader] ./node_modules/@angular/core/src/change_detection/differs/default_keyvalue_differ.d.ts:24:16 
    TS2304: Cannot find name 'Map'.

ERROR in [at-loader] ./node_modules/@angular/core/src/change_detection/differs/default_keyvalue_differ.d.ts:32:16 
    TS2304: Cannot find name 'Map'.

ERROR in [at-loader] ./node_modules/@angular/common/src/directives/ng_class.d.ts:48:34 
    TS2304: Cannot find name 'Set'.

ERROR in [at-loader] ./node_modules/@angular/compiler/src/compile_metadata.d.ts:351:20 
    TS2304: Cannot find name 'Set'.

ERROR in [at-loader] ./node_modules/@angular/compiler/src/compile_metadata.d.ts:353:28 
    TS2304: Cannot find name 'Set'.

ERROR in [at-loader] ./node_modules/@angular/compiler/src/compile_metadata.d.ts:355:15 
    TS2304: Cannot find name 'Set'.

ERROR in [at-loader] ./node_modules/@angular/compiler/src/compile_metadata.d.ts:357:23 
    TS2304: Cannot find name 'Set'.

ERROR in [at-loader] ./node_modules/@angular/compiler/src/compile_metadata.d.ts:359:17 
    TS2304: Cannot find name 'Set'.

ERROR in [at-loader] ./node_modules/@angular/compiler/src/compile_metadata.d.ts:361:25 
    TS2304: Cannot find name 'Set'.

ERROR in [at-loader] ./node_modules/@angular/compiler/src/output/output_ast.d.ts:555:63 
    TS2304: Cannot find name 'Set'.

ERROR in [at-loader] ./node_modules/@angular/compiler/src/metadata_resolver.d.ts:71:61 
    TS2304: Cannot find name 'Set'.

ERROR in [at-loader] ./node_modules/@angular/compiler/src/metadata_resolver.d.ts:77:89 
    TS2304: Cannot find name 'Set'.

ERROR in [at-loader] ./node_modules/@angular/compiler/src/view_compiler/type_check_compiler.d.ts:30:161 
    TS2304: Cannot find name 'Map'.

ERROR in [at-loader] ./node_modules/@angular/compiler/src/aot/compiler.d.ts:87:32 
    TS2304: Cannot find name 'Map'.

ERROR in [at-loader] ./node_modules/@angular/http/src/headers.d.ts:52:71 
    TS2304: Cannot find name 'Map'.

ERROR in [at-loader] ./node_modules/@angular/http/src/url_search_params.d.ts:46:16 
    TS2304: Cannot find name 'Map'.

ERROR in [at-loader] ./node_modules/@angular/platform-browser/src/dom/dom_adapter.d.ts:97:42 
    TS2304: Cannot find name 'Map'.

ERROR in [at-loader] ./node_modules/@angular/platform-browser/src/browser/browser_adapter.d.ts:79:33 
    TS2304: Cannot find name 'Map'.

ERROR in [at-loader] ./node_modules/@angular/platform-browser/src/dom/shared_styles_host.d.ts:11:30 
    TS2304: Cannot find name 'Set'.

ERROR in [at-loader] ./node_modules/@angular/platform-browser/src/dom/shared_styles_host.d.ts:22:30 
    TS2304: Cannot find name 'Set'.

ERROR in [at-loader] ./node_modules/@angular/router/src/router_outlet_context.d.ts:42:28 
    TS2304: Cannot find name 'Map'.

ERROR in [at-loader] ./node_modules/@angular/router/src/router_outlet_context.d.ts:43:34 
    TS2304: Cannot find name 'Map'.

ERROR in [at-loader] ./node_modules/@types/node/index.d.ts:6208:55 
    TS2304: Cannot find name 'Map'.

ERROR in [at-loader] ./node_modules/@types/node/index.d.ts:6215:55 
    TS2304: Cannot find name 'Set'.

ERROR in [at-loader] ./node_modules/@types/node/index.d.ts:6219:64 
    TS2304: Cannot find name 'Symbol'.

ERROR in [at-loader] ./node_modules/@types/node/index.d.ts:6225:59 
    TS2304: Cannot find name 'WeakMap'.

ERROR in [at-loader] ./node_modules/@types/node/index.d.ts:6226:59 
    TS2304: Cannot find name 'WeakSet'.

ERROR in [at-loader] ./src/app/app.component.ts:8:14 
    TS1219: Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning.

ERROR in [at-loader] ./src/app/app.module.ts:17:14 
    TS1219: Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning.

MajorDevDependencies

  • @ angular / * 6.0.3
  • @ types / node 10.1.2
  • @ types / core-js 0.9.46
  • машинопись 2.8.3
  • webpack 4.9.1

tsconfig.json

{
    "compilerOptions": {
        "declaration": false,
        "module": "commonjs",
        "noEmitOnError": true,
        "noImplicitAny": true,
        "target": "es5",
        "moduleResolution": "node",
        "sourceMap": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "lib": [
            "es5",
            "es6",
            "es7",
            "dom"
        ],
        "suppressImplicitAnyIndexErrors": false,
        "typeRoots": [
            "./node_modules/@types"
        ],
        "types": [
            "core-js",
            "node"
        ],
        "include": [
            "src/**/*"
        ]
    },
    "exclude": [
        "./node_modules"
    ]
}

Тупики

  • Изменение цели на es5, es2015, es6, es2016
  • Удаление из tsconfig typeRoots, types, include, exclude
  • Изменение ./node_modules на node_modules с tsconfig typeRoots и exclude
  • Удаление папки node_modules и npm cache с последующей переустановкой всех зависимостейс yarn install

Я знаю, что это часто задаваемый вопрос, но я не нашел решения своей проблемы.

Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Прежде всего, я хочу поблагодарить @ estus за его ответ.
Это не решает проблему, несмотря на то, что он указал на правильную проблему.

Действительно, приведенные ниже изменения не решают проблему.

helpers.root ('.', 'Tsconfig.json')

IЯ вообще не думал, что проблема могла быть в конфигурации моего файла веб-пакета, но это было так.
Извлеките изменения, которые я сделал, чтобы исправить это:

Измените путь _root у помощников.js

// Removed the second argument .. from the resolve
const _root = path.resolve(__dirname);

Измените каждый вызов helpers.root из конфигурации веб-пакета

// Instead of helpers.root('./src')
helpers.root('src')

// Instead of helpers.root('src', 'tsconfig.json')
// Which was clearly wrong in all cases because it is not in src folder
helpers.root('tsconfig.json')

Вы также можете оформить тег 0,1.1 с исправлением или извлечением изменений .

0 голосов
/ 27 мая 2018

ES6-типизация может быть предоставлена ​​либо polyfill (core-js), либо самим TypeScript (за это отвечает опция компилятора lib).Поскольку соответствующие библиотеки были предоставлены в lib (es6), ожидается, что функции ES6 распознаются TypeScript.

В конфигурации веб-пакета указан неверный путь к tsconfig.json:

        {
            test   : /\.ts$/,
            loaders: [

                // Parse TypeScript to JavaScript
                {
                    loader : 'awesome-typescript-loader',
                    options: {
                        configFileName: helpers.root('src', 'tsconfig.json')
                    }
                },

                // Add require(...) as prefix for templateUrl and styleUrls in Angular components
                // This way allow the loader to inject external files as inline data
                'angular2-template-loader'
            ]
        },

Таким образом, конфигурация TypeScript не подобрана.

Это должно быть:

helpers.root('.', 'tsconfig.json')
...