StencilJS | Импорт стороннего скрипта в компонент

Я пытаюсь использовать сторонний скрипт в компоненте Stencil, который я скопировал в каталог сборки. Я намерен использовать автономные компоненты на различных веб-сайтах. Я не создаю приложение Stencil.

stencil.config.ts

export const config: Config = {
  namespace: 'community-component',
  outputTargets: [
    { type: 'dist' },
    { type: 'docs' },
    {
      type: 'www',
      serviceWorker: null // disable service workers
    }
  ],
  copy: [
    { src: 'www/assets/myscript.js', dest: 'assets/js/myscript.js' }
  ]
};

Затем я импортирую его вот так, что неверно. myscript.js также загружает jQuery.

import * as MyScript from '../../../src/www/assets/myscript.js';
declare const jQuery: any;

Теперь у меня Uncaught ReferenceError: jQuery is not defined.


person Ciprian    schedule 15.03.2019    source источник
comment
Это нужно делать так же, как описано в этом вопросе. stackoverflow.com/questions/54991630/   -  person Ritesh Singh Rajput    schedule 26.03.2019


Ответы (1)


Чтобы использовать настраиваемые сценарии в компоненте трафарета, выполните следующие действия:

  1. Создайте каталог assets в src, если он не существует.
  2. Создайте новый файл и вставьте его содержимое или просто скопируйте и вставьте файл сценария.
  3. Импортируйте скрипт в ваш tsx файл следующим образом:

    импортировать * как myScript из './assets/my-script.js'

  4. Соберите свой компонент и запустите.

P.S. - вам не нужно указывать папку с ресурсами в свойстве copy файла stencil.config.ts. По умолчанию он копируется.

person Prasheel    schedule 08.04.2019