Typescript给我变量错误,并且还在编译javascript不知道的代码

问题描述 投票:0回答:1

我正在使用打字稿,但是我无法运行我的代码。用javascript制作起来非常容易的东西,让我到处都是那么多圈子。

我正在使用youtube API,并通过脚本标签进行引用。该代码在javascript上正常工作,但是typescript不会让我编译该代码,因为它说存在一个未定义的变量。index.html

    <script src="/liveRoom/src/framework/vue.js"></script>
    <script src="/socket.io/socket.io.js"></script>
    <script src="https://www.youtube.com/iframe_api"></script>
    <script src="/liveRoom/src/app.js"></script>

app.js

import Vue from 'vue';
const socket : any = io();

function onYoutubeIFrameAPIReady() : void {
    let player : object = new YT.Player('player', { //YT is undefined apparently
        width: '640',
        height: '390',
        videoID: 'null',
        events: {
            'onStateChange': onPlayerStateChange
        }

    });
}
function onPlayerStateChange() {

}

socket.on('videoID', function (videoID : string) : void {
    console.log('the id is: ' + videoID);
    var app = new Vue({
        el: '#vID',
        data: {
            vID: videoID
        }
    });

});
console.log('asas');

如果这还不够混乱,即使我删除了这个youtube API,并尝试创建自己的系统,它甚至都不会让我使用vue,因为当我将其导入时,它将把它发送到我的JS文件中:


exports.__esModule = true;
var vue_1 = require("vue");

我从未听说过出口。在javascript中,显然没有javascript!这就是为什么即使我决定仅使用vue也会收到此错误的原因:

Uncaught ReferenceError: exports is not defined
    at app.js:2

打字稿是为了节省我的时间,但是到那时我可能会完成我的项目,而不仅仅是开始它。

javascript typescript vue.js youtube-iframe-api tsc
1个回答
0
投票
您最有可能使用Webpack等进行设置,或者,如果您不想花费时间来研究如何进行配置,请使用Vue CLI之类的零配置工具。

如果您不想这样做,可以尝试在打字稿项目目录的内部使用npm install vue,但请确保它与您通过脚本标签导入的vue版本相同。祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.