TS2694 (TS) 命名空间 'angular' 没有导出的成员 'ui'

Posted

技术标签:

【中文标题】TS2694 (TS) 命名空间 \'angular\' 没有导出的成员 \'ui\'【英文标题】:TS2694 (TS) Namespace 'angular' has no exported member 'ui'TS2694 (TS) 命名空间 'angular' 没有导出的成员 'ui' 【发布时间】:2018-06-26 18:23:31 【问题描述】:

在查看了类似的问题并尝试了他们的解决方案后,我仍然不知道为什么这种情况无法解决。

    仔细检查是否有任何拼写错误 尝试来自Q&A 45791412 的解决方案 检查了我的yarn.lock 文件是否有来自Q&A 46666667 的问题 在 Github 中搜索 UIRouter 的答案,找到 issue 3514,但解决方案没有解决我的问题

问题

在将类型应用于 UIRouter 对象时,构建时出错并且没有提供智能感知。

TS2694 (TS) Namespace 'angular' has no exported member 'ui'
TS2307 (TS) Cannot find module '@uirouter/core 

项目详情

Node       - 8.9.4 
NPM        - 5.6.0
Yarn       - 1.3.2
Typescript - 2.6.2 (installed globally)

尝试为我的模块创建路由定义时,我的代码中出现了 TS2694。

function Configuration(
    $stateProvider: ng.ui.IStateProvider
) 
    $stateProvider
        .state('Home', <ng.ui.IState>
            url: '/',
            controller: 'HomeController',
            controllerAs: 'vm',
            templateUrl: 'js/views/home/home.html'
        );

TS2307 仅在被查看时出现在 index.d.ts 文件中。 (为简洁起见减少),它也出现在具有相同引用的其他文件中。

import './viewScroll';
declare const _default: "ui.router";
export default _default;
import * as core from '@uirouter/core';
export  core ;
export * from '@uirouter/core';

tsconfig.json


  "compileOnSave": true,
  "compilerOptions": 
    "target": "es5", 
    "module": "commonjs", 
    "sourceMap": true,
    "strict": true, 
    "moduleResolution": "node" 
  ,
  "exclude": [
    "node_modules"
  ]

npm 包文件(devDependencies 的内容)所有这些都按预期显示在我的node_modules 文件夹中。

"devDependencies": 
  "@types/angular": "^1.6.40",
  "@types/requirejs": "^2.1.31",
  "@uirouter/angularjs": "^1.0.13",
  "@uirouter/core": "^5.0.14",
  "angular": "^1.6.8",
  "bootstrap": "3.3.7",
  "jquery": "^3.2.1",
  "node-sass": "^4.7.2"

【问题讨论】:

【参考方案1】:

我删除了node_modules 文件夹并重新安装了ui-router,它成功了。 我遇到了和你一样的问题,其他解决方案也对我不起作用。希望对你有帮助。

rm -rf node_modules
npm i -S @uirouter/angularjs
npm i

【讨论】:

这并不能解决问题,我尝试包含@ui-router/angularjs 的每个项目似乎都有这个问题。

以上是关于TS2694 (TS) 命名空间 'angular' 没有导出的成员 'ui'的主要内容,如果未能解决你的问题,请参考以下文章

命名空间“Electron.CrossProcessExports”没有导出成员“远程”

提供“--isolatedModules”标志时无法编译命名空间

Angular2找不到命名空间'google'

TS编程——面向对象随手录——接口_命名空间——重构javaScrip 3D引擎代码部分——函数

TypeScript 编译中缺少 Angular5 :polyfills.ts & \main.ts

启动后为 Angular 6 项目获取“错误 TS1005,TS1109”