当我创建一个jQuery OpaqueToken时,Angular cli会抛出一个错误。

时间:2017-02-20 17:26:01

标签: angular angular-cli

我已将jquery脚本文件作为一个sependency包含在angular-cli.json文件的scripts数组中。

"scripts": [
            "../node_modules/jquery/dist/jquery.js",
        ]

我创建了一个为jquery导出令牌的简单服务。

import {OpaqueToken} from '@angular/core'

export let JQUERY_TOKEN = new OpaqueToken('jQuery');

我导入了令牌并在app.module.ts文件中声明了jQuery对象,

import {JQUERY_TOKEN} from './shared/jquery'
declare let jQuery:any;

并且还包括提供者数组中的标记:

providers: [{provide:JQUERY_TOKEN, useValue: jQuery}]

当我运行“ng build”命令时,angular cli会抛出以下错误:

ERROR in Error遇到静态解析符号值。引用本地(非导出)符号'jQuery'。考虑导出符号(原始.ts文件中的位置28:13),解析 符号AppModule在D:/public/src/app/app.module.ts

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

希望您还没有导入正确的文件

而不是

import {JQUERY_TOKEN} from './shared/jquery'

import {JQUERY_TOKEN} from './shared/jquery.service'