首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法找到名称“Map”、“Set”、“符号”、“WeakMap”、“WeakSet”

无法找到名称“Map”、“Set”、“符号”、“WeakMap”、“WeakSet”
EN

Stack Overflow用户
提问于 2018-05-26 20:50:10
回答 2查看 1.4K关注 0票数 1

这是一个新的角6计划。

所有依赖项都是最新的。

误差输出

代码语言:javascript
复制
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.

专业DevDependencies

  • @角/* 6.0.3
  • @类型/节点10.1.2
  • @type/core-js 0.9.46
  • 打字本2.8.3
  • webpack 4.9.1

tsconfig.json

代码语言:javascript
复制
{
    "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"
    ]
}

死了

  • 将目标更改为es5es2015es6es2016
  • 从tsconfig typeRootstypesincludeexclude中移除
  • ./node_modules从tsconfig typeRootsexclude更改为node_modules
  • 删除node_modules文件夹和npm cache,然后用yarn install重新安装所有依赖项

我知道这是一个常见的问题,但是我没有找到任何解决问题的方法。

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-27 08:36:07

首先,我要感谢@estus的回答。

尽管他指出了正确的问题,但这并不能解决问题。

事实上,下面的变化并不能解决问题。

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

我根本没有想过这个问题可能是webpack文件中的配置问题,但事实确实如此。

请查看我为修复此问题所做的更改:

从helpers.js更改_root路径

代码语言:javascript
复制
// Removed the second argument .. from the resolve
const _root = path.resolve(__dirname);

从webpack配置更改helpers.root的每个调用

代码语言:javascript
复制
// 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,也可以签出变化

票数 3
EN

Stack Overflow用户

发布于 2018-05-26 23:38:55

ES6类型可以由core-js提供,也可以由TypeScript本身提供(这是lib编译器选项负责的)。由于在lib (es6)中提供了相关的库,预计ES6特性将被TypeScript所识别。

Webpack配置设置了通往tsconfig.json的错误路径:

代码语言:javascript
复制
        {
            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配置不会被选中。

它应该是:

代码语言:javascript
复制
helpers.root('.', 'tsconfig.json')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50546886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档