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

时间:2018-01-17 19:16:42

标签: angularjs typescript angular-ui-router typescript-typings

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

  1. 仔细检查任何拼写错误
  2. 尝试Q&A 45791412
  3. 的解决方案
  4. Q&A 46666667
  5. 检查了我的yarn.lock个问题文件
  6. 在Github内搜索UIRouter找到issue 3514的答案,但解决方案未解决我的问题
  7. 问题

    构建时出错,并且在将类型应用于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 个答案:

答案 0 :(得分:0)

我删除了node_modules文件夹并重新安装了ui-router,它就可以了。 我和你的问题一样,其他解决方案对我也没有用。希望它可以帮到你。

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