0

我正在制作一个 Vue 2 组件。但是当我npm link在其他项目中导入它时(我正在将它导入到一个随机组件中:)import InputTag from 'vue-input-tag'我看到了这个:

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

有任何想法吗?我要疯了。

这是回购:https ://github.com/matiastucci/vue-input-tag/tree/wtf

谢谢!

4

1 回答 1

0

在升级旧的 (v0.11.x) Vue.js 应用程序时,我遇到了同样的问题。Vue.js 2.x 引入了编译(渲染功能)模板。此外,这些是新的默认设置。

以下是来自 2.x 文档的更多信息:http: //vuejs.org/guide/installation.html#Standalone-vs-Runtime-only-Build

在我的例子中,我使用 browserify 和 partialify 来包含模板(作为字符串),所以没有预编译来渲染函数发生。

为了解决这个问题,我使用aliasify来确保使用 Vue.jsvue的“独立”副本而不是“仅运行时”版本来满足要求。

我做了以下事情:

  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 文档中有相关信息。

我希望这会有所帮助!

于 2016-11-05T14:55:21.150 回答