导入不适用于Angular 2应用程序

时间:2016-11-26 14:14:37

标签: angular typescript import ionic2

当我说导入不起作用时,我指的是一种特定类型的导入:来自@types的格式为import * as _ from 'lodash'。但是,我可以这样做:import _ from 'lodash'。我到目前为止一直在做的事。

这个帖子中有详细记载:Importing lodash into angular2 + typescript application,其中许多不同的人发布了一个导入是否有效而另一个不导入。这个问题是关于识别为什么的情况。

到目前为止,这不是一个问题,但现在我正在尝试使用https://github.com/angular/angularfire2包,它已经成为一个问题,因为我现在必须编辑节点包并替换:{ {1}} import * as firebase from 'firebase';,否则不知道'firebase'是。

如果我在import firebase from 'firebase'中记录对象从firebase结尾返回,我得到:

enter image description here

如果我将其切换到./node_modules/angularfire2/auth/firebase_sdk_auth_backend.js,则应用程序加载并且日志为:

enter image description here

我一直在弄乱我的import firebase from 'firebase',但无济于事。即通过将es2015更改为ES6并打开和关闭标志。它的当前(错误)状态是(我假设问题在这里,虽然我不确定):

tsconfig.json

npm -v(4.0.2)< => tsc -v(版本2.0.10)< =>离子-v(2.1.13) 如果您需要任何其他软件包版本,我会在下面的评论中发布它们。

看来我需要 { "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 } } =>我需要做些什么才能实现这一目标?

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

1 个答案:

答案 0 :(得分:0)

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