PhantomJS在vue中抛出错

PhantomJS在vue中抛出错

问题描述:

我正在使用webpack模板来构建一个vuejs应用程序。 的问题是,当我尝试运行单元测试(目前只是默认一个......)PhantomJS引发此错误:PhantomJS在vue中抛出错

PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR 
    TypeError: undefined is not a constructor (evaluating 'val.toLowerCase()') 
    at webpack:///~/vue/dist/vue.esm.js:89:0 <- index.js:13783 

错误是指Vue公司库,一定有什么错应用程序的代码。 上下文的一小部分:我创建了vue组件的展示,所以我配置了webpack跳过生产中的很多文件/文件夹,因为它们只是展示组件,而我只想在我的核心组件prod构建。

所以结构文件夹如下:

src 
|----components 
|----main.js 
|----assets.js 
|----App.vue 
|----core 
    |----coreComponents 
    |----mainProdBuilder.js 
    |----coreAssets.js 

如果我导入所有的组件,如果我捆绑一切与“main.js”为切入点,我可以运行测试,没有任何问题,但是,作为当我尝试使用mainProdBuilder脚本捆绑生产文件时,我收到错误。这里的脚本:

import Vue from "vue"; 

import MyTable from "./Table/Table"; 
import FormatNumber from "./numberFormatting"; 
import TotalValue from "./TotalValue"; 
import MyTitle from "./Title/Title"; 
import TestTitle from "./Title/TestTitle"; 
import BarChart from "./Charts/BarChart"; 
import Histogram from "./Charts/Histogram"; 

Vue.component(MyTable, 
    MyTitle, 
    TestTitle, 
    BarChart, 
    TotalValue, 
    Histogram, 
); 

请注意,如果我评论所有的vue组件一次只留下一个组件,它的工作原理。因此,例如这个作品:

import Vue from "vue"; 

import MyTable from "./Table/Table"; 

Vue.component(
    MyTable, 
); 

而且也是这个原理:

import Vue from "vue"; 

import Histogram from "./Charts/Histogram"; 

Vue.component(
    Histogram, 
); 

但这引发错误:

import Vue from "vue"; 

import MyTable from "./Table/Table"; 
import Histogram from "./Charts/Histogram"; 

Vue.component(
    MyTable, 
    Histogram 
);  

我缺少什么?

Vue.component()需要一个id(组件的即名称)和object definition,你无法将所有的全局组件注册在一起(尽管你可以对本地组件做),你需要单独注册它们:

import MyTable from "./Table/Table"; 
import FormatNumber from "./numberFormatting"; 
//etc...  

Vue.component('my-table', MyTable); 
Vue.component('format-number', FormatNumber); 
//etc... 

如果您尝试注册使用一个Vue.component你得到你所收到的错误,您可以在this JSFiddle

+0

看你是对的先生他们,我要疯了,谢谢! – ste