Angular 6 ReferenceError:$未使用JQuery定义错误 我安装了角度6的基础,但是我在jQuery中得到了一个错误。p>
未捕获的语法错误:意外的标识符 ReferenceError:$未定义 在我的组件中,我有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时使用的此选项,请确保您的路径正确 试试这个
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"
]
}