कोणीय - 'हैमरजेएस नहीं पा सका'


94

मैं एक साधारण कोणीय परियोजना पर काम कर रहा हूँ जहाँ मैं अपनी परियोजना में मटीरियल डिज़ाइन को आयात करने की कोशिश कर रहा हूँ, लेकिन कुछ घटक ठीक से काम नहीं कर रहे हैं और एक सांकेतिक चेतावनी है:

हैमरजेएस नहीं मिल सका। कुछ कोणीय सामग्री घटक सही ढंग से काम नहीं कर सकते हैं।

मैंने hammerjsस्थापित किया है और भी @angular/material। मैं इस समस्या को कैसे हल कर सकता हूं?



पक्षीय लेख

यह ध्यान देने योग्य हो सकता है कि यदि आपने hammerjsस्थापित किया है और आपके घटक अभी भी सही तरीके से प्रतिपादन नहीं कर रहे हैं तो सुनिश्चित करें कि आप angular material घटकों का उपयोग कर रहे हैं और materialize-css वर्गों के साथ HTML तत्वों का नहीं । यदि आप इसके बजाय उपयोग कर रहे हैं , तो आपको इसे अपनी परियोजना में अलग से जोड़ना होगा।materialize-cssangular material

जवाबों:


162

अपनी package.jsonफ़ाइल में इसे जोड़ेंdependencies

"हथौड़े": "^ 2.0.8",

या यदि आप एक विकल्प के स्वत: रास्ता चाहते हैं तो बस आप टाइप कर सकते हैं npm i hammerjs --save(या npm i hammerjs@2.0.8 --saveअगर आप चाहते हैं, के बाद से 2.0.8नवीनतम संस्करण nowdays है) अपने रूट प्रोजेक्ट फ़ोल्डर में और परीक्षण तो, अगर समस्या अभी भी हटाने का प्रयास होने वाली node_modulesफ़ोल्डर और में इसे पुनः स्थापित जड़ प्रोजेक्ट फ़ोल्डर भी चल रहा है, npm installजो dependencies( जहाँ hammerjsरहता है ), devDependencies..., package.jsonफ़ाइल में और उन्हें जाँचेगा।

आपके में भी polyfills.ts(यदि आपके पास नहीं है तो एक के लिए अनुशंसित)

आयात 'हथौड़ा / हथौड़ा';

इस प्रकार, यह पाया की जाएगी, जबकि अपनी कोणीय एप्लिकेशन निष्पादित किया जाता है के बाद से polyfills.tsही आयात द्वारा कहा जाता है (एक सामान्य स्थिति में है, और आप इसे जांच कर सकते हैं) में main.tsजो कोणीय ऐप्स के प्रवेश बिंदु है।


9
polyfills.tsचेतावनी को शांत करने के लिए आयात कथन को जोड़ना , जो बहुत अच्छा है! लेकिन सामग्री डिजाइन घटक अभी भी सही तरीके से प्रदान नहीं कर रहे हैं: / मैं प्रश्न विवरण में एक स्क्रीनशॉट शामिल करूंगा। अब तक आपकी मदद के लिए धन्यवाद!
दानोराम

2
नहीं। लेकिन मुझे एक बार समाधान खोजने के बाद वापस जाँचना सुनिश्चित होगा।
दानोराम

2
लगता है कि मैं अपनी index.htmlफ़ाइल में सीएसएस लिंक जोड़ना भूल गया । whoopsie .. सभी अब ठीक लग रहे हैं। मदद के लिए चीयर्स!
दानोराम

3
मैं उन घटकों में से किसी का उपयोग नहीं कर रहा हूं जिनकी आवश्यकता है hammer। क्या इन चेतावनियों को निष्क्रिय करने का कोई तरीका है? मुझे अपने परीक्षणों में इनमें से 30 पसंद हैं।
CWSpear

1
आयात 'हथौड़ा / हथौड़ा'; मेरे लिए चेतावनी हटा दी गई
1919 को

102

हथौड़ा स्थापित करें

  • दोपहर के साथ

    npm install --save hammerjs
  • (या) सूत के साथ

    yarn add hammerjs

फिर hammerjsअपने ऐप के प्रवेश बिंदु (जैसे src / main.ts) पर आयात करें।

import 'hammerjs';




1
आह अच्छा जवाब, मुझे लगता है कि यह शायद बहुत से लोग हैं, जो इस सवाल को खोजने के लिए पता करना चाहते हो सकता है परवाह नहीं था
Danoram

7
यह सही उत्तर होना चाहिए। साथ ही, आपको import 'hammerjs';प्रत्येक *.spect.tsपरीक्षण फ़ाइल में जोड़ना चाहिए जो चल रहे होने पर चेतावनी को ठीक करने के लिए सामग्री घटकों का उपयोग करता है ng test
कार्टूको

3
मुझे tsconfig.jsonजवाब के लिए धन्यवाद, लेकिन आयात कार्यों को बदलने की जरूरत नहीं थी ।
Spurious

अगर आपको हर कल्पना फ़ाइल में आयात को जोड़ना है, तो क्या इसे karma.conf फ़ाइल में जोड़ने का कोई तरीका नहीं होना चाहिए?
जेफ

उद्धृत स्रोत के लिए कहते हैं import it on your app's entry point (e.g. src/main.ts)के बजाय app.module.ts में। जाहिर है, यह वास्तव में वैसे भी कोई फर्क नहीं पड़ता।
स्टैक अंडरफ्लो

9

अपनी systemjs.config.jsफ़ाइल में आपको निम्न प्रविष्टि भी जोड़ने की आवश्यकता है:

'hammerjs': 'npm:hammerjs/hammer.js',

पाठ्यक्रम के साथ:

'@angular/material': 'npm:@angular/material/bundles/material.umd.js',

आपके कोड से गायब होने वाली दूसरी चीज़ (जीएच रेपो में आपके पास जो भी है, उसके आधार पर) सामग्री डिज़ाइन सीएसएस का समावेश है, इसे अपनी index.htmlफ़ाइल में जोड़ें :

<link href="https://rawgit.com/angular/material2-builds/master/core/theming/prebuilt/indigo-pink.css" rel="stylesheet">

आशा है कि ये आपकी मदद करेगा।


आपके वापस आने में इतना समय लगने के लिए क्षमा करें। मुझे नहीं लगता कि मेरा प्रोजेक्ट सिस्टमज का उपयोग कर रहा है। हालाँकि आप मेरे बारे में सही हैं कि सीएसएस आयात करना भूल गए हैं! बहुत बहुत धन्यवाद अब यह सही लग रहा है!
दानोराम

6

यह मेरे लिए काम करता था (और यह आयनिक 4 के साथ भी है) मैं हथौड़े का काम कर सकता था - और यह भी ईओण के साथ material.angular.io (नीचे में)

हैमर + आयनिक (हथौड़ा + कोणीय)

npm install --save hammerjs
npm install --save @types/hammerjs

फिर

package.json
make sure in dependencies there is this line
"hammerjs": "^2.0.8",

फिर

tsconfig.json - added types as seen below

"compilerOptions": {
...
...
"types": [
"hammerjs"
]
}

फिर

in app.component.ts (only there)
import 'hammerjs';

फिर

in html file (I just took out the first and last < > signs)
div id="myElement"></div
in .ts file

हथौड़ों की साइट से नमूना कोड काम करता है

let element2 = document.getElementById('myElement');
let hamming = new Hammer(element2);
hamming.on("panleft panright tap press pressup", function(ev) {
    element2.textContent = ev.type +" gesture detected.";
    console.log(ev.type +" gesture detected.");
});

हथौड़ा + आयनिक + सामग्री: आयनिक के साथ सामग्री हथौड़ा काम करने के लिए

in app.module
import { HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
import { GestureConfig } from '@angular/material';

providers: [
    { provide: HAMMER_GESTURE_CONFIG, useClass: GestureConfig },
]

और वोइला, आपकी सामग्री स्लाइडर काम करती है।


3

अपनी कमांड लाइन या पॉवरशेल खोलें, अपने कोणीय 2 प्रोजेक्ट की डायरेक्टरी टाइप करें: cd your-project's-rootएंटर और पेस्ट को हिट करें:

npm install hammerjs --save

Npm स्वचालित रूप से आपकी package.jsonफ़ाइल में सभी निर्भरताएँ जोड़ देगा ।


ntor पर @torazaburo Hammerjs संस्करण को बार-बार अपडेट किया जा रहा है, इसलिए ओपी यह सुनिश्चित कर सकता है कि यदि वह npm कमांड का उपयोग करके हथौड़े को स्थापित करता है तो यह अद्यतित और कार्यशील होगा।
तरह यूजर को

@torazaburo ईमानदार होने के लिए मैंने इसे npm --saveद्वारा स्थापित करने के दौरान उपयोग नहीं किया और सब कुछ सुचारू रूप से चला गया, लेकिन चूंकि आप बहुत अनुभवी उपयोगकर्ता हैं, इसलिए आपके साथ बहस करना अनुचित होगा।
उपयोगकर्ता की तरह

मुझे लगता --saveहै कि अब इसकी आवश्यकता नहीं है क्योंकि इसका उपयोग स्वचालित रूप से किया जाएगा। docs.npmjs.com/cli/install
नकली

1
यदि आप --saveइसे छोड़ देते हैं, तो यह अभी भी काम करेगा, लेकिन इसे पैकेज में नहीं जोड़ा जाएगा। Json फ़ाइल, जिसका अर्थ है कि npm installभविष्य में चलने पर यह स्वचालित रूप से इंस्टॉल नहीं होगा
निकल्स

2
  1. npm स्थापित करें हथौड़ा -save
  2. npm स्थापित @ प्रकार / हथौड़ों - save- देव
  3. कंपाइलर विकल्पों के तहत इसे टाइपस्क्रिप्ट में जोड़ें

    "प्रकार": ["हथौड़ाज"]

  4. इसे app.compords.ts में जोड़ें:

hammerjs


आप सर, एक उद्धारकर्ता हैं और अगर मैं कभी दूसरा बेटा पाने का प्रबंधन करता हूं, तो वह आपके नाम पर होगा!
कोडिंगबुद्ध

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.