Я создаю шаблон для Vue + веб-приложения Rollup, поддерживающего только современные браузеры. Я хотел бы импортировать Vue как модуль ES с узла.
Похоже, что Webpack делает это автоматически, но Rollup не делает этого по своей природе. Это нормально. :)
Vue в установочных документах показано это , но не описывается, как t ie пакет из npm - вероятно, потому что это просто происходит для Webpack.
Моя ситуация:
// app.js
import Vue from 'vue/dist/vue.esm.js'; // this works
//import Vue from 'vue'; // gives "Failed to resolve module specifier "vue". Relative references must start with either "/", "./", or "../"." in browser
Источник: приложение. js
Я настроил псевдонимы Rollup, как указано здесь здесь чтобы 'vue' указывал на 'vue / dist / vue .esm. js':
entries: { // BUG: this DOES NOT WORK
vue: 'vue/dist/vue.esm.js'
}
Это как если бы плагин псевдонимов не активировался.
Что мне не хватает? Источник доступен для игры по адресу: https://github.com/akauppi/vue-rollup-example-with-firebase-auth
Редактировать: С тех пор я прочитал Обработка сторонних JavaScript с Rollup (блог , De c 2017) и понял, что я хочу получить Vue из CDN, не запеченный в моей пачке.
Это заставило меня сделать (src/app.js
):
import Vue from 'https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.esm.browser.js';
Это работает! Остается только способ сопоставить этот версионный URL из одного места и использовать import Vue from 'vue-cdn'
в других.