es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Componente web desarrollado usando stencil no funciona en IE11.

Tengo algunos componentes de stencil desarrollados, pero después de la construcción de producción, el archivo js dist incluido en HTML plano y usando el componente como

<my-comp></my-comp>

no está funcionando allí, obteniendo un error debido a que se llama a “delete” en ‘incluido’ no está permitido en el modo estricto.

enter image description here

A continuación se muestra mi configuración de stencil:

import { Config } from '@stencil/core'
import { sass } from '@stencil/sass'

export const config: Config = {
  namespace: 'mep-components',
  srcDir: 'src',
  buildEs5: true,
  extras: {
    cssVarsShim: true,
    dynamicImportShim: true,
    shadowDomShim: true,
    safari10: true,
    scriptDataOpts: true,
    appendChildSlotFix: false,
    cloneNodeFix: false,
    slotChildNodesFix: true,
  },
  outputTargets: [
    {
      type: 'dist'
    },
    {
      type: 'www'
    }
  ],
  devServer: {
    reloadStrategy: 'pageReload',
    port: 4444
  },
  plugins: [sass()]
}

A continuación se encuentra el archivo package.json:

{
  "name": "web-components",
  "module": "./dist/index.js",
  "collection": "./dist/collection/collection-manifest.json",
  "types": "./dist/types/components.d.ts",
  "version": "1.0.0",
  "description": "",
  "main": "./dist/index.cjs.js",
  "scripts": {
    "start": "stencil build --dev --watch --serve",
    "build": "stencil build --prod && node ./src/tasks/after.build.js",
    "server": "json-server --watch db.json",
    "task": "node ./src/tasks/someTask.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@stencil/core": "^2.6.0",
    "moment-timezone": "^0.5.33",
    "stencil-click-outside": "^1.7.1",
    "uuid": "^8.3.2"
  },
  "devDependencies": {
    "@stencil/sass": "^1.4.1",
    "@types/jquery": "^3.5.6",
    "chalk": "^4.1.2",
    "workbox-build": "^4.3.1"
  }
}
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que el código se está ejecutando en modo estricto e intentando eliminar una propiedad, lo cual no está permitido en modo estricto. Es posible que el código en uno de los componentes de stencil esté utilizando la palabra clave delete para eliminar una propiedad de un objeto. Para solucionar este problema, puedes intentar eliminar la palabra clave delete y en su lugar establecer la propiedad como undefined o utilizar la deconstrucción de objetos para eliminar la propiedad. Si no estás seguro de qué componente está causando el error, puedes intentar depurar el código utilizando una herramienta como la consola del navegador o una herramienta de depuración como VSCode. Además, es posible que desees verificar si alguna biblioteca de terceros o polifills utilizados por los componentes también están causando el problema.

Comments are closed.