Yo uso angular de material en mi proyecto. Yo estoy haciendo esto advertencias:

No se pudo encontrar HammerJS. Ciertos Angular de Material de los componentes, puede
no funciona correctamente.

La «longpress» evento no puede ser obligado
porque Hammer.JS no está cargado y no costumbre cargador ha sido
especificado.

Sé que esto es un duplicado de este pregunta

En la respuesta que han mencionado que:

  1. Tenemos que añadir "^2.0.8", a dependencies en paquete.json archivo.
  2. de importación 'hammerjs/hammer'; en polyfills.ts archivo.

En mi caso todo está bien, todavía estoy recibiendo el mismo mensaje de advertencia en
navegador de la consola.

  • Por favor, puedes añadir alguna demo/código para reproducir el problema?
  • En realidad he tratado de dar stackblitz enlace. Cuando he intentado con stackblitz no aparece esta advertencia.
  • Agregar aquí en los comentarios?
  • Tengo muchos componentes, soy incapaz de encontrar cuál es el componente que muestra esta advertencia.
  • Voy a publicar package.json archivo?
  • Ejecutar npm prune y npm i
  • Agregar hammerjs de node_modules a angular.json y, a continuación, reinicie el proyecto

InformationsquelleAutor PGH | 2018-10-01

3 Comentarios

  1. 67

    Hay 2 formas para resolver este problema:

    1. Incluir la (principal) la importación en su módulo principal del archivo o polyfills.ts:

      import 'hammerjs';
    2. O incluir la secuencia de comandos desde un CDN en su index.html de archivo:

      <head>
        <!-- ... -->
        <script src="https://cdnjs.cloudflare.com/ajax/libs/hammer.js/2.0.8/hammer.min.js"></script>
        <!-- ... -->
      </head>
    • import 'hammerjs'; ha resuelto mi error muchas gracias por que, en Realidad, anteriormente he importado (hammerjs) en módulos principales de archivo como import {} from 'hammerjs';. Es esto un error??
    • Nope. Sólo tiene que importar el módulo en sí. Que la sintaxis no importar nada para su uso con el proyecto. Sin embargo, la importación del módulo (probablemente) de las importaciones de todos los módulos.
  2. 12

    con angular6, puede incluir hammerjs ruta en node_modules en angular.archivo json.

    Angular doc dice que el propósito de angular.archivo json es

    CLI configuración de valores predeterminados para todos los proyectos en el área de trabajo, incluida la configuración de opciones para construir, servir, y las herramientas de prueba de que el CLI usos, tales como TSLint, el Karma, y Transportador de ángulos. Para más detalles, consulte Angular de la Configuración del espacio de trabajo.

    Puede incluir hammerjs nodo de la ruta de acceso del módulo en la secuencia de comandos de la lista. a continuación verá un ejemplo:

     "projects": {
        "demo": {
          "root": "",
          "sourceRoot": "src",
          "projectType": "application",
          "prefix": "app",
          "schematics": {},
          "architect": {
            "build": {
              "builder": "@angular-devkit/build-angular:browser",
              "options": {
                "outputPath": "dist/demo",
                "index": "src/index.html",
                "main": "src/main.ts",
                "polyfills": "src/polyfills.ts",
                "tsConfig": "src/tsconfig.app.json",
                "assets": [
                  "src/favicon.ico",
                  "src/assets",
                  "src/manifest.json"
                ],
                "styles": [
                  "src/styles.css"
                ],
                "scripts": [
                  "node_modules/hammerjs/hammer.min.js" <- add path to hammerjs
                ]
              },
              "configurations": {
              ....
    

    Tenga en cuenta que usted tiene que reiniciar ng servir para que se lleve a efecto.

    • Esto funcionó, tenga en cuenta que es necesario detener y reiniciar el proyecto para este archivo para ser recogido.

Dejar respuesta

Please enter your comment!
Please enter your name here