2016-10-30 4 views
0

Я делаю компонент Vue 2. Но когда я npm link его в другом проекте и импортировать (я импортировать его в случайной составляющей делает: import InputTag from 'vue-input-tag') Я вижу это:Vue.js 2.0: Не удалось установить компонент: шаблон или функция рендеринга не определены

Failed to mount component: template or render function not defined. (found in component <input-tag>)

Есть идеи? Я схожу с ума.

Вот репо: https://github.com/matiastucci/vue-input-tag/tree/wtf

Спасибо!

+0

Я думаю, вы должны его построить и указать 'main' файл в' package.json'. – imcvampire

+0

@imcvampire да, вот что я делаю –

+0

Извините, но я не вижу вашу папку 'dist' в вашем репо, поэтому я ничего не могу сделать. – imcvampire

ответ

0

Я попал в эту же проблему при обновлении старого приложения (v0.11.x) Vue.js. Vue.js 2.x представляет скомпилированные шаблоны (render-function). Кроме того, это новый стандарт.

Вот больше информации от 2.x документов: http://vuejs.org/guide/installation.html#Standalone-vs-Runtime-only-Build

В моем случае, я использовал browserify и partialify включить шаблоны (как строки), так что не было никакой предварительной компиляции для отображения функции происходит ,

Чтобы исправить это, я использовал aliasify, чтобы убедиться, что требование vue выполнено с помощью «Автономной» копии Vue.js, а не версии «Только для исполнения».

я сделал следующее:

  1. npm install --save-dev aliasify
  2. редактировал package.json включить этот код:

    "aliasify": { 
        "aliases": { 
         "vue": "vue/dist/vue.js" 
        } 
        }

  3. добавляемые -t aliasify к моему browserify команде, которая теперь гласит:

    browserify -e src/main.js -t aliasify -t partialify -o build/bundle.js

Вы можете сделать это с WebPack также - и есть информация в документации Vue.js для этого.

Я надеюсь, что это поможет!

+0

У меня уже есть псевдоним: https://github.com/matiastucci/vue-input-tag/blob/wtf/build/webpack.base.conf.js# L26: / –

 Смежные вопросы

  • Нет связанных вопросов^_^