Подтвердить что ты не робот

Требуют библиотек cdn в браузере, не связывая их в последнем файле js

Если у меня есть библиотека, которая вытаскивается из cdn и не хочет, чтобы она была частью финального js файла, но могла потребовать ее с помощью браузера, как бы я ее разрешил?

Вот как я в настоящее время решаю его с помощью alias и файла прокладки.

browserify: {
    options: {
        debug: true,
        transform: [ 'reactify' ],
        alias: [
            'client/shims/jquery.js:jquery'
        ]
    },
    app: {
        src:  'client/app.js',
        dest: 'public/app.js'
    }
}

вот файл прокладки client/shims/jquery.js, который я псевдоним jquery, поэтому я могу использовать require('jquery') вместо полного пути.

module.exports = $;

Есть ли ярлык в браузере grunt для поддержки этого сценария? Я хотел бы знать, можно ли определить его в Gruntfile.js без создания файла прокладки.

Добавление external: [ 'jquery' ] похоже, полностью игнорирует его и не работает.

4b9b3361

Ответ 1

С browserify-shim вы можете добавить это в свой файл package.json:

  "browserify": {
    "transform": [
      "browserify-shim"
    ]
  },

  "browserify-shim": {
    "jquery": "global:$"
  }

Затем jquery будет доступен в ваших модулях через require('jquery')

Ответ 2

Если вы загружаете jQuery перед пакетом Browserify на странице, $ будет доступен как глобальный.