Webpack 编译错误:TypeError: __WEBPACK_IMPORTED_MODULE_1__ … is not a function
Posted
技术标签:
【中文标题】Webpack 编译错误:TypeError: __WEBPACK_IMPORTED_MODULE_1__ … is not a function【英文标题】:Webpack compile error: TypeError: __WEBPACK_IMPORTED_MODULE_1__ … is not a function 【发布时间】:2017-10-12 07:19:32 【问题描述】:所以,这是我的 Api 服务组件,我正在使用 Axios:
import api from './Api.vue';
export default
name: 'app-feed-service',
methods:
getPosts()
return api.get('posts/');
还有一些提要组件
import AppSinglePost from './../Feed/Post.vue';
import AppFeedService from './../../api/Feed.vue';
export default
name: 'app-posts',
components:
AppSinglePost
,
data()
return
posts: []
,
created()
AppFeedService.getPosts().then((res) =>
console.log(res);
);
现在是错误:
TypeError: __WEBPACK_IMPORTED_MODULE_1__api_Feed_vue___default.a.getPosts is not a function
有人可以帮忙吗?
【问题讨论】:
您的提要服务名为Feed.vue
?
不,为什么?应该吗?
这就是您要导入的内容。 import AppFeedService from './../../api/Feed.vue'
是的。抱歉误会了
我猜你想导入 Feed.js
什么的。
【参考方案1】:
我得到了完全相同的错误 Webpack 编译错误:TypeError: WEBPACK_IMPORTED_MODULE_1 … is not a function 在 ReactJS 中。 当您从任何其他文件导入任何已定义的变量/组件作为组件时,通常会遇到这种类型的错误。在反应中,我们将组件导入为
import ComponentName from '/componentPath';
因此,如果它不是我们要导入的组件,请尝试将导入作为一个对象
import componentName from '/componentPath';
是对象的铭牌。
【讨论】:
【参考方案2】:Feed.vue 中定义的 AppFeedService 看起来并不是真正的组件,它只是您要调用的服务的集合。由于您已将其定义为组件,因此该组件必须在某处实例化,这在大多数情况下意味着您在另一个组件的template
中使用了它。
您可以将其定义为一个对象。
import api from './Api.js';
export default
getPosts()
return api.get('posts/');
您的 Api.vue 文件可能也是如此。定义实际组件时,只需要使用.vue
文件即可。
然后在您的提要组件中
import AppFeedService from './../../api/Feed.js';
总结一下:.vue
文件格式用于定义单个文件组件。当您实际定义单个文件组件(可能会在不同组件的template
中使用的东西)时,您只需要一个.vue
文件。如果您只想要一个包含方法集合或某种状态的对象,只需使用纯 javascript 定义它即可。
【讨论】:
以上是关于Webpack 编译错误:TypeError: __WEBPACK_IMPORTED_MODULE_1__ … is not a function的主要内容,如果未能解决你的问题,请参考以下文章
TypeError: (0 , _material_ui_core__WEBPACK_IMPORTED_MODULE_3__.makeStyles) 不是函数
小程序错误TypeError: __webpack_require__
为啥在导入套接字时会出现此错误:“TypeError: _websocket_js__WEBPACK_IMPORTED_MODULE_0__.default.send is not a functio
TypeError: axios__WEBPACK_IMPORTED_MODULE_1___default.a.get(...).than 不是函数