Vueify不能要求node_modules中的组件

时间:2016-04-16 21:48:08

标签: npm browserify vue.js laravel-elixir

这是我的npm package

首先,我安装它。

npm install asva-vue-filters

然后我{j}文件中的require包:

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 个答案:

答案 0 :(得分:1)

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

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

    或者,您可以将您的包预先发布到不易消化的包中,并且不需要浏览器来运行。