vue.js - 在 vue js 组件中导入和使用本地 javascript 文件的有效方法是什么?
问题描述
我在 Vue.js 组件的 script 标签中写了如下:
require("./js/swiper.min.js");
require("./js/wow.min.js");
export default {
mounted(){
var swiper = new Swiper('.swiper-container',{pagination: '.swiper-
pagination', paginationClickable: true,});
new WOW().init();
}
}
这导致我出现以下错误
[Vue warn]: Error in mounted hook: "TypeError: Cannot assign to read only
property 'exports' of object '#<Object>'"
它在index.html
(一个简单的 HTML 文件)中正常工作,但在 Vue.js 组件中它给出了错误。
在 Vue.js 中使用本地 javascript 文件是否正确?
解决方案
这看起来像是导出与require
vs的工作方式之间的冲突import
您可以使用require
withmodule.exports
和import
with export defaults
。现在你正在混合它们,这可能会导致问题。
在这里很好地解释了这一点:https ://github.com/almende/vis/issues/2934#issuecomment-292698456
你不应该做这样的事情:
// myModule.js
import x from 'module-x'
...
module.exports = something
反而:
common.js 方式
// myModule.js
const x = require('module-x')
// Here there is a trick, if module-x is exported as ES6 with a default export it would be
const x = require('module-x').default
...
module.exports = something
或者
ES6方式
// myModule.js
import x from 'module-x'
...
export default something
推荐阅读
- php - 同时从更多表中选择,而不是我无法使用 mysqli_fetch_array 获得正确的 ID
- jenkins - 詹金斯容器管道
- java - 适合初学者的 FragmentPagerAdapter
- c# - SqlDbType 不包含 .net 框架 1.1 中 XML 问题的定义
- git - 有没有可视化 Git 提交的工具?
- android - 同步 chrome 书签
- javascript - 如何过滤来自 api 调用的 json 数据以响应组件的不同部分
- mysql - 如何在 MySQL 中找到某些条件成立的日期时间?
- python - xarray 仅选择当月第一天的时间步长
- javascript - event.target.value - 如何获取键值?