【发布时间】:2017-03-10 18:48:37
【问题描述】:
我正在开发一个 JavaScript 库,它本质上是一个与 Vue 本身捆绑在一起的 Vue.js 组件。该项目是通过vue-cli 启动的,并使用Webpack 打包。
当这个库通过<script> 标记导入时,我希望它公开一个函数,例如:
Mapboard({div: '#some-div')
图书馆本身目前只是:
export default (opts) => console.log('hello')
我调整了我的 Webpack 配置以设置库名称:
module.exports = {
output: {
library: 'Mapboard'
}
}
它成功地公开了一个名为Mapboard 的全局变量,但它是对象,而不是函数:
{
__esModule: true,
default: function (e) {...}
}
有什么方法可以阻止 Webpack 将其导出为 ES6 模块?我希望它只是模块导出的函数,如上所示。
【问题讨论】:
-
试试
library: 'commonjs Mapboard'或添加output.libraryTarget: 'commonjs' -
@Maximus 我在浏览器中遇到错误
exports is not defined -
你使用什么脚本加载器?
-
@Maximus
vue-loader和babel-loader -
@Jura 您是否通过阅读那篇文章解决了您的问题?
标签: javascript webpack