在angular 6中找不到HammerJS
我在我的项目中使用角度材质。我收到以下警告: 找不到HammerJS。某些角材料组件可能 工作不正常 无法绑定“longpress”事件 因为Hammer.JS没有加载,也没有自定义加载程序 指定的 我知道这是这个的复制品 他们在答复中提到:在angular 6中找不到HammerJS,angular,angular-material,hammer.js,Angular,Angular Material,Hammer.js,我在我的项目中使用角度材质。我收到以下警告: 找不到HammerJS。某些角材料组件可能 工作不正常 无法绑定“longpress”事件 因为Hammer.JS没有加载,也没有自定义加载程序 指定的 我知道这是这个的复制品 他们在答复中提到: 我们必须将“^2.0.8”添加到package.json文件中的依赖项中 导入'hammerjs/hammer'在polyfills.ts文件中 在我的情况下,一切都很好,但我还是得到了同样的警告 浏览器控制台。有两种方法可以解决此问题: 将(主)导入包含
“^2.0.8”
添加到package.json文件中的依赖项中
'hammerjs/hammer'编码>在polyfills.ts文件中
浏览器控制台。有两种方法可以解决此问题:
polyfills.ts
:
导入“hammerjs”;
index.html
文件中:
使用angular6,您可以在angular.json文件的节点_模块中包含hammerjs路径 表示angular.json文件的用途是 工作区中所有项目的CLI配置默认值,包括CLI使用的构建、服务和测试工具(如TSLint、Karma和量角器)的配置选项。有关详细信息,请参见角度工作空间配置 可以在脚本列表中包括hammerjs节点模块路径。请参见下面的示例:
“项目”:{
“演示”:{
“根”:“,
“sourceRoot”:“src”,
“项目类型”:“应用程序”,
“前缀”:“应用程序”,
“示意图”:{},
“建筑师”:{
“构建”:{
“生成器”:“@angular devkit/build angular:browser”,
“选择”:{
“outputPath”:“dist/demo”,
“索引”:“src/index.html”,
“main”:“src/main.ts”,
“polyfills”:“src/polyfills.ts”,
“tsConfig”:“src/tsConfig.app.json”,
“资产”:[
“src/favicon.ico”,
“src/资产”,
“src/manifest.json”
],
“风格”:[
“src/styles.css”
],
“脚本”:[
“node_modules/hammerjs/hammer.min.js”使用安装
npm install --save hammerjs
或
安装后,将其导入应用程序的入口点(例如src/main.ts)
项目全球级添加hammer js
"scripts": [
"node_modules/hammerjs/hammer.min.js" <- add path to hammerjs
]
对于角度材质的新版本,安装材质时只需运行
ng add @angular/material
它会问你这样的问题
为手势识别设置HammerJS
您应该回答“Y”,它会自动为您配置HammerJS
角度材料安装指南:你能添加一些演示/代码来重现这个问题吗?实际上我试图给stackblitz链接。当我尝试使用stackblitz时,它没有显示这个警告。在这里添加评论?我有很多组件,我找不到它显示这个警告的组件。我应该发布package.json吗代码>文件?import'hammerjs';
解决了我的错误,非常感谢,实际上之前我已经在主模块文件中导入了(hammerjs),如import{}从“hammerjs”;
。这是错误的吗???@PrashanthGH不。只导入模块本身。该语法不会导入任何用于项目的内容。但是,导入模块(可能)会导入所有模块。这是有效的,请注意,必须停止并重新启动项目才能获取此文件。
"scripts": [
"node_modules/hammerjs/hammer.min.js" <- add path to hammerjs
]
import * as Hammer from 'hammerjs';
ng add @angular/material