Существует файл javascript, который мне нужно использовать в моем проекте как зависимость. В нем нет репозитория github, он не находится на bower, или npm, он просто живет здесь.Уборка пакета с помощью webpack
http://a.klaviyo.com/media/js/learnmarklet.js
Я могу установить его с беседкой с:
bower install http://a.klaviyo.com/media/js/learnmarklet.js --save
Я знаю, что он будет жить в моем проекте по адресу:
./bower_components/learnmarklet/index.js
И я знаю, что это придает переменную _learnq
- глобальному объекту окна.
Я хочу просто это.
var _learnq = require("klaviyo")
Мне нужно сделать псевдоним klaviyo
что-то вроде этого.
{
"klaviyo": "./bower_components/learnmarklet/index.js"
}
И «прокладка» экспорт в _learnq
переменной, как это.
{
"klaviyo": "_learnq"
}
Как это сделать с помощью webpack?
Это то, что я пробовал, вот что выглядит мой webpack.config.js
.
module.exports = {
resolve:{
alias:{
"klaviyo": "./bower_components/learnmarklet/index.js"
}
},
externals: {
klaviyo: "_learnq"
}
}
Я рад принять это как ответ. Я считаю, что это должно сработать. Я получаю некоторые странные ошибки на моей стороне из-за того, как этот скрипт был создан. По-видимому, он ищет пакеты nodejs fs, file и system https://gist.github.com/reggi/628736bdb70a2a98deae – ThomasReggi
Ahh, что определенно зависит от использования. Если код зависит от файловой системы от чего-то критического, библиотека может быть просто непригодна для использования в браузере. – loganfsmyth
Нет! Это для браузера! У этого есть только условные требования, когда он выполняется внутри узла. При запуске в веб-пакете эти условия прерываются, потому что это среда CommonJS. – ThomasReggi