Vueify 不能需要来自 node_modules 的组件

Vueify can't require component from node_modules

这是我的 npm package

首先,我安装它。

npm install asva-vue-filters

然后我 require 来自 javascript 文件的包:

var vueFilters = require('asva-vue-filters')

出于某种原因,我收到了诸如以下错误的垃圾邮件(对于包中的每个 *.vue 文件):

gulp-notify: [Laravel Elixir] 
Browserify Failed!: Parsing file c:\homestead\pr5\node_modules\
asva-vue-filters\components\filters\sorting-order-filter.vue: 
Unexpected token (1:0)

但是如果我只是将包文件夹从 node_modules 复制到其他地方(例如项目根目录),那么我可以 require 并且一切正常。

// Doesn't work
var vueFilters = require('./../../../../node_modules/asva-vue-filters/index')
// Works
var vueFilters = require('./../../../../asva-vue-filters/index')

有什么想法吗?非常感谢您的帮助。

我设法解决了一个问题,方法如下:

  1. gulpfile.js 中删除 require('laravel-elixir-vueify')
  2. 将 browserify 转换添加到您的包 package.json:
    "browserify": {
      "transform": [
        [
          "babelify",
          {
            "presets": [
              "es2015"
            ]
          }
        ],
        [
          "vueify"
        ]
      ]
    },

或者,您可以将包预发布到不需要 browserify 即可运行的可消化包中。