Шимминг по ссылкам - как настроить?

Я пытаюсь использовать библиотеку ссылок (сигма-форк), которая обеспечивает "main": "dist/sigma.require.js"package.json). это позволяет мне сделать:

var sigma = require('linkurious');

однако, плагины не включены, поэтому я должен требовать их отдельно. проблема в том, что плагины полагаются на sigma переменная, доступная в глобальной области видимости. так что я подправил вещи следующим образом (из package.json):

  "browser": {
    "sigma": "./node_modules/linkurious/dist/sigma.js",
    "linkurious/plugins": "./node_modules/linkurious/dist/plugins.js"
  },  
  "browserify-shim": {
    "sigma": {"exports": "sigma"},
    "linkurious/plugins": { "depends": [ "sigma" ]  }   
  },  
  "browserify": {
    "transform": [ "browserify-shim" ]   
  }, 

который при запуске в браузере не генерирует ошибок при включении плагинов (я так понимаю, это означает, что глобальная переменная доступна), но ссылки на плагины терпят неудачу (как будто они не смогли присоединиться или подключились к не глобальная переменная).

Я использую grunt-browserify для запуска процесса, в котором он настроен следующим образом (из Gruntfile.js):

grunt.initConfig({
    browserify: {
        libs: {
            files: { 'inc.js': ['index.js'] },
        },
    }
});

Я приложил небольшой проект к этой проблеме с минимально необходимым кодом, чтобы продемонстрировать проблему в надежде, что кто-то еще сможет воспроизвести / выяснить. распаковать, набрать npm install; npm start и запустить браузер против http://localhost:8002/ чтобы увидеть проблему.

заранее спасибо,

ekkis

sigma.zip

- редактировать я -

Между прочим, bendrucker в git-репо (см. https://github.com/thlorenz/browserify-shim/issues/215) предлагает мне сделать глобальное преобразование. Мне объяснили, что шимминг не работает на node_modules файлы и для тех, кто мне нужно глобальное преобразование. для меня это не имеет особого смысла, поскольку весь смысл шимминга в том, что вы не владеете кодом, который шиммируете. в любом случае, Бендрукер указал мне на этот другой пост SO, где задан вопрос, но ответов не дано.

Помогите?

0 ответов

Другие вопросы по тегам