【发布时间】:2018-08-02 15:21:50
【问题描述】:
我需要在 Vue.js 组件中包含来自外部 JS 文件的函数。我引用了this answer 来弄清楚如何在我的 webpack 配置中加载外部文件。我当前的设置如下所示:
webpack.dev.conf.js
const HtmlWebpackExternalsPlugin = require('html-webpack-externals-plugin')
[...]
new HtmlWebpackExternalsPlugin({
externals: [{
module: 'iframeresize',
entry: 'https://[...]/iframeResizer.min.js',
global: 'iframeresize'
}]
})
index.html
<script src="https://[...]/iframeResizer.min.js"></script>
.vue 组件
import { iFrameResize } from 'iframeresize'
export default {
name: 'FMFrame',
mounted () {
iFrameResize()
}
}
但是,我现在收到来自 vue-router 的错误。
[vue-router] 无法解析异步组件默认值: ReferenceError: iframeresize 未定义
[vue-router] 路由导航时未捕获的错误:
ReferenceError: iframeresize 未定义
从外部文件加载函数时是否缺少步骤?当直接从index.html 加载时,我可以使用该函数,但随后我收到一个警告,指出该函数未定义,因为我的 webpack 配置似乎被忽略了。
【问题讨论】:
-
只是指出,如果使用外部 webpack 插件,则不需要将 script 标签包含在 index.html 中。
标签: javascript webpack vue.js vuejs2 vue-router