2016-11-26 80 views
1

当我说进口不工作,我指的是一个特定类型的导入:从@types格式import * as _ from 'lodash'。但是,我可以通过这样做来解决这个问题:import _ from 'lodash'。到目前为止,我一直在做这件事。 Importing lodash into angular2 + typescript application,在许多不同的人已经张贴进口是否一个作品和其他没有:进口在角2应用无法正常工作

这在这个线程是有据可查的。这个问题是关于识别为什么这种情况。

截至目前为止,这已经不是一个问题,但现在我想用https://github.com/angular/angularfire2包,它已成为一个问题,因为我现在要编辑节点包并替换:import * as firebase from 'firebase';import firebase from 'firebase',否则它不知道'firebase'是。

如果我记录了该火力点结束对象回报./node_modules/angularfire2/auth/firebase_sdk_auth_backend.js我得到:

enter image description here

如果我切换到import firebase from 'firebase'加载应用程序和日志是:

enter image description here

我已经与我的tsconfig.json但无济于事瞎搞。即通过将ES2015改变为ES6并打开和关闭标志。它目前的(错误)的状态是(我假设的问题是在这里,虽然我不知道):

{ 
    "compilerOptions": { 
     "allowSyntheticDefaultImports": true, 
     "declaration": true, 
     "emitDecoratorMetadata": true, 
     "experimentalDecorators": true, 
     "lib": [ 
     "dom", "es2015" 
     ], 
     "module": "es2015", 
     "moduleResolution": "node", 
     "sourceMap": true, 
     "target": "es5" 
    }, 
    "include": ["src/**/*.ts"], 
    "exclude": ["node_modules"], 
    "compileOnSave": false, 
    "atom": { 
     "rewriteTsconfig": false 
    } 
    } 

NPM -v(4.0.2)< => TSC -v (版本2.0.10)< =>离子-v(2.1.13) 如果有需要,我会在下面的评论张贴到任何其他版本的包。

看来,我需要能够import * as foo from 'bar' =>什么,我需要做的,使这种情况发生?

N.B. 这也是一个离子2应用程序(但我不认为这会产生太大的差异)

回答

0

从我所知道的,这是由于您的@ angular/compiler-cli版本。如果碰到2.1.1,它允许从'firebase'类型导入*作为firebase。