Algunas trampas en el inicio del proyecto Mars3d

prefacio

Recientemente, me uní a una nueva empresa. La empresa abrió un nuevo proyecto para la ciudad del futuro, que necesita usar el modelado de ciudades en 3D. El jefe de la empresa eligió Mars3d como el marco frontal. El proyecto me fue asignado. Es un campo completamente nuevo ¡Bar!
Aquí hay algunos pequeños problemas que encontré, anótelos:

  • 1 npm install copy-webpack-plugin --save-dev informa de un error

inserte la descripción de la imagen aquíSolución: npm install copy-webpack-plugin --save-dev --legacy-peer-deps

  • 2 El segundo pequeño error es un descuido muy simple, código de error: const path = require('path')SyntaxError: El identificador 'path' ya ha sido declarado Solución: Verifique el código, es decir, escriba esta declaración nuevamente por usted mismo, solo eliminar el código repetido.

  • 3 ERROR TypeError: compilation.getCache no es una función
    inserte la descripción de la imagen aquí
    Solución: este error generalmente se debe a la discrepancia de versión entre nuestro paquete web y el complemento copy-webpack. En este momento, solo necesitamos eliminar nuestro propio complemento copy-webpack, y luego simplemente instale una versión más baja ( esta puede ser la secuela del primer problema de instalación )
    Dos instrucciones: desinstalar: npm desinstalar copy-webpack-plugin, instalar: instalé [email protected], I The webpack version es

  • 4 ERROR Error: [copy-webpack-plugin] los patrones deben ser una matriz
    Solución: Esto significa que los parámetros de nuestra configuración new CopyWebpackPlugin() deben ser una matriz, y el código que copiamos del sitio web oficial parece ser

        new CopyWebpackPlugin({
    
    
          patterns: [
            {
    
     from: path.join(cesiumSourcePath, 'Workers'), to: path.join(config.output.path, cesiumRunPath, 'Workers') },
            {
    
     from: path.join(cesiumSourcePath, 'Assets'), to: path.join(config.output.path, cesiumRunPath, 'Assets') },
            {
    
     from: path.join(cesiumSourcePath, 'ThirdParty'), to: path.join(config.output.path, cesiumRunPath, 'ThirdParty') },
            {
    
     from: path.join(cesiumSourcePath, 'Widgets'), to: path.join(config.output.path, cesiumRunPath, 'Widgets') }
          ]
        }),

Solo cámbialo a esto

      new CopyWebpackPlugin([
          {
    
     from: path.join(cesiumSourcePath, 'Workers'), to: path.join(config.output.path, cesiumRunPath, 'Workers') },
          {
    
     from: path.join(cesiumSourcePath, 'Assets'), to: path.join(config.output.path, cesiumRunPath, 'Assets') },
          {
    
     from: path.join(cesiumSourcePath, 'ThirdParty'), to: path.join(config.output.path, cesiumRunPath, 'ThirdParty') },
          {
    
     from: path.join(cesiumSourcePath, 'Widgets'), to: path.join(config.output.path, cesiumRunPath, 'Widgets') }
        ]
      )
  • 5
    No se encontraron estas dependencias:
    @turf/turf en ./node_modules/mars3d/dist/mars3d.js
    *mars3d-cesium en ./node_modules/mars3d/dist/mars3d.js, ./src/main.js
    Para instalarlas , puede ejecutar: npm install --save @turf/turf mars3d-cesium
    Esto es muy simple, solo siga estas instrucciones. npm install --save @turf/turf mars3d-cesium

  • 6 Error de sintaxis: TypeError: no se pueden leer las propiedades de undefined (leyendo 'parseComponent')
    Solución: este problema es causado por versiones inconsistentes de vue y vue-template-compiler

    "vue": "2.7.14",
    "vue-template-compiler": "^2.6.14"
  • 7 Error al compilar. ./node_modules/mars3d-cesium/Build/Cesium/index.js 75:1800
    inserte la descripción de la imagen aquí
    Solución: Este es el problema de la versión mars3d-cesium, la versión fija de mars3d-cesium es 1.95, "mars3d-cesium": " 1.95 .1” [Ten cuidado de no ^]
    Puedes consultar el artículo original de "Little Jessie"

Supongo que te gusta

Origin blog.csdn.net/m0_56026872/article/details/129880402
Recomendado
Clasificación