Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 6 ReferenceError:$未使用JQuery定义错误 我安装了角度6的基础,但是我在jQuery中得到了一个错误。p>_Jquery_Angular_Zurb Foundation_Zurb Foundation 6 - Fatal编程技术网

Angular 6 ReferenceError:$未使用JQuery定义错误 我安装了角度6的基础,但是我在jQuery中得到了一个错误。p>

Angular 6 ReferenceError:$未使用JQuery定义错误 我安装了角度6的基础,但是我在jQuery中得到了一个错误。p>,jquery,angular,zurb-foundation,zurb-foundation-6,Jquery,Angular,Zurb Foundation,Zurb Foundation 6,未捕获的语法错误:意外的标识符 ReferenceError:$未定义 在我的组件中,我有 declare var $:any onNgInit () { $(document).foundation() } 我的angular.json中有所有导入 scripts : [ "node_modules/jquery/dist/jquery.js" ] 我尝试了在互联网上找到的一切,但仍然面临着同样的错误。还要添加我在使用Angular 4时使用的此选项,请确保您的路径正确 试试这个

未捕获的语法错误:意外的标识符 ReferenceError:$未定义

在我的组件中,我有

declare var $:any

onNgInit () {
  $(document).foundation()
}
我的angular.json中有所有导入

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

我尝试了在互联网上找到的一切,但仍然面临着同样的错误。还要添加我在使用Angular 4时使用的此选项,请确保您的路径正确

试试这个
[../node\u modules/jquery/dist/jquery.js]

为angular安装jquery插件

npm安装jquery--保存

现在在您的
app.module.ts
add

从“jquery”导入*为$


这将使工作得以完成。

对于那些寻找答案的人来说,解决方案是导入节点类型(我假设您已经使用npm来安装——保存jquery和foundation站点):

npm安装--save@types/node

然后在模块下的
tsconfig.app.json
中,确保类型部分(在
compilerOptions
下)为:

“类型”:[“节点”]

然后在代码中:

import * as $ from 'jquery';
const Foundation = require('foundation-sites'); 

.... other declarations etc... 

new Foundation.default.DropdownMenu($("#yourelementid"), {}); 

我用下拉菜单作为例子,但是这应该适用于所有不同的基础插件(虽然我没有测试)。p> 这与ES6模块隔离的工作方式有关。从

angular.json
文件加载与index.html文件(全局范围)上的脚本标记相同。当您在任何组件上导入它时,您将获得一个新的本地副本,因此请避免以这种方式导入它

要防止intellisense和编译问题,请创建包含以下内容的
typings.d.ts
文件:

declare var $: any;
declare var jQuery: any;

现在您可以开始了:)

您可以尝试添加jQuery类型,我在从npm安装jQuery后会这样做

npm安装--保存dev@types/jquery


如果您安装了jquery,但仍然出现此错误。在使用
$
的每个组件中,在顶部添加
import*作为来自“jquery”的$

为我添加以下内容到polyfills.ts解决了此问题

import * as jQuery from 'jquery';
window['$'] = jQuery;

注意:将此添加为问题的注释

始终注意angular.json中默认有两个“脚本”部分。大多数开发人员在“脚本”标签中随意地给出引用,如下所示

scripts : [
  "node_modules/jquery/dist/jquery.js"
]
没有验证他们是否将此添加到测试“脚本”或“构建”脚本

但是,只需验证一下,您是否将其添加到angular.json的“build”部分而不是“test”部分,因为这是开发人员经常犯的愚蠢错误

错: 正确的: 希望这有帮助

对我来说 npm i核心js
工作。希望这对您也有帮助

我尝试了几种解决方案,最后成功地将样式直接插入到style.css中,然后是全局样式,然后我将js函数插入到app.componet.ts中,将代码直接插入app.componet.html中,完成此操作后,我将所有内容都移动到一个组件中


试着看这个:

试着使用
JQuery(document)。foundation()
a应该是
JQuery(document)。foundation()
JQuery在(doucument)上给出了一条曲线,对于JQuery,它在foundation()上给出了一条曲线。请帮助我解决大多数问题,将以下内容添加到polyfills.ts解决了此问题
import*as jQuery from'jQuery';窗口['$']=jQuery@Gireesh你的解决方案对我有效,而其他任何解决方案都无效!Angular 8出现问题。Angular 6中的路径已更改,您编写的路径不再有效。我在网上尝试过其他建议,但没有一个有效。我得到的是,此“基础”在类型“JQuery”上不存在。您可以查看一下吗。我原以为您的解决方案解决了我的问题,但不幸的是,它没有解决。如果我使用的是
引导
,这是否有效?我关心的是
Bootstrap
还需要
JQuery
,所以我的应用程序是否有两个版本的
JQuery
?请尝试从链接的URl中进行解释,而不是仅仅发布URl。我只是想说这个答案对我很有帮助。我正在建立一个新的Angular项目,我们的一些客户非常喜欢jQuery数据表,所以很明显,我需要jQuery,但我一辈子都无法理解我做了很多的事情是如何无法工作的。就是这样,把剧本放错地方了。
"test"{
   scripts : [
     "node_modules/jquery/dist/jquery.js"
   ]
}
"build"{
   scripts : [
     "node_modules/jquery/dist/jquery.js"
   ]
}