【发布时间】:2018-06-27 13:49:43
【问题描述】:
错误
由于以下 eslint 错误,模块构建失败:
错误 1:“player”被赋值但从未使用过no-unused-vars
错误 2:未定义“YT”no-undef
错误 3:“onYouTubeIframeAPIReady”已定义但从未使用过no-unused-vars
守则
function videoInit() {
// Initialise video
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// Initialise the player
var player;
function onPlayerReady(event) {
event.target.playVideo();
}
function onPlayerStateChange(event) {
if (event.data === YT.PlayerState.ENDED) {
event.target.playVideo();
}
}
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '100%',
width: '100%',
videoId: 'ScMzIvxBSi4',
playerVars : {
'mute' : 1,
},
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
},
});
}
}
目标
解决 no-unused-vars 和 no-undef 错误。
函数调用不在本地文件中,而是来自 YouTube API 根据documentation:
onYouTubeIframeAPIReady– 当页面完成播放器 API 的 JavaScript 下载后,API 将调用此函数,这样您就可以在页面上使用该 API。因此,此函数可能会创建您希望在页面加载时显示的播放器对象。
可以通过使用忽略错误no-unused-vars
/* eslint-disable no-unused-vars */,但我相信有更好的方法来解决这些问题。
非常感谢任何建议。
【问题讨论】:
-
单独的
.eslintrc文件?
标签: javascript youtube-api eslint