我正在为Angular 2项目使用Angular-CLI(webpack版本),我也需要使用jQuery(遗憾的是.在我的情况下,它是Semantic-UI的依赖,我用它来处理菜单下拉菜单).
我使用它的方式:
npm install jquery --save
Run Code Online (Sandbox Code Playgroud)
然后列在数组中的angular-cli.json文件中scripts:
scripts": [
"../node_modules/jquery/dist/jquery.min.js"
]
Run Code Online (Sandbox Code Playgroud)
所以它被包含在bundle文件中,这个文件自动用于root html文件:
<script type="text/javascript" src="scripts.bundle.js">
然后declare var $: any;在我需要它的文件中,它运行良好.
但是ng test测试存在问题,因为Karma会抛出错误$ is not defined.
我以前从未使用过 Jasmine,但我正在从事的这个小项目需要我。无法完全弄清楚,任何帮助将不胜感激。我查看了各种教程并对问题进行了搜索,但对此不熟悉并无济于事。
JS源文件
> $(document).ready(function(){
>
>
> $.ajax({ type: 'GET', dataType: "json", url: "db.php/realmadrids",
> success: showResponse, error: showError });
>
>
>
>
>
>
> console.debug("error"); function showResponse(responseData){
>
> //$("#get1").click(function getPlayers(responseData) {
> console.log('Image is clicked'); console.log(responseData);
> $.each(responseData.realmadrid, function(index, realmadrid){
> console.log(' is ');
> $("#playercontentRealMadrid").append("</br><strong> Full Name: </strong>" +realmadrid.PlayerName+ " "+realmadrid.PlayerLastName+"
> </br> <strong>Player Position: </strong>" +realmadrid.PlayerPosition+"
> </br><strong>Player Age: </strong>" +realmadrid.Age+"
> </br><strong>Player Height: </strong>" +realmadrid.Height+"
> </br><strong>Player Weight: </strong>" +realmadrid.Weight+"
> </br><strong>Team …Run Code Online (Sandbox Code Playgroud)