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
看你是对的先生他们,我要疯了,谢谢! – ste