Файл Javascript загрузить другие файлы Javascript Без окна / документа - PullRequest
0 голосов
/ 05 декабря 2018

Я работаю с файлом JavaScript, у которого нет окна или документа.У меня есть файл package.json, который вызывает другой Javascript-файл task.js package.json:

   {
  "name": "mytask",
  "version": "1.0.0",
  "description": "mytask TFS Build",
  "main": "scripts/mytask.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "install": "npm install"
  },
  "repository": {},
  "author": "OST",
  "license": "ISC",
  "dependencies": {
    "https-proxy-agent": "1.0.0",
    "jquery": "3.3.1",
    "jsdom": "13.0.0",
    "load-json-file": "^2.0.0",
    "moment": "^2.22.2",
    "object.values": "^1.0.4",
    "request": "2.81.0",
    "vso-node-api": "^5.1.2",
    "vss-web-extension-sdk": "5.141.0",
    "vsts-task-lib": "1.1.0"
  }

}

Файл javascript вызова TFS существует в package.json «основной» опции.package.json вызывает mytask.js с помощью опции «main», и этот файл javascript будет запускаться как задача в TFS и выводить данные на консоль.

В основном моя проблема в том, что нет HTML-страницы или документа, поэтому я не могу загрузить javascriptфайл через или document.addElement ...

Мне нужно загрузить файл JavaScript (VSS.SDK.js из vss-web-extension-sdk) в mytask.js.Я новичок в JavaScript, поэтому я не знаю, что я делаю неправильно.После долгих поисков я нашел «jsdom», который создает глобальный документ.Но все еще не знал, как загрузить скрипт VSS.SDK.js.

mytask.js:

const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const { window } = new JSDOM(`<!DOCTYPE html>`);

var jQuery = require("jquery")(window);

 // Option 1
    jQuery.loadScript = function (url, callback) {
        jQuery.ajax({
            url: url,
            dataType: 'script',
            success: callback,
            fail: callback,
            async: false
        });
    }

    jQuery.loadScript('vss-web-extension-sdk/lib/VSS.SDK.js', function(){console.log("loaded!!!!!!!!!!!!!!!!!!!!")});


    // Option 2
    jQuery.getScript('vss-web-extension-sdk/lib/VSS.SDK.js').done(function(){console.log("loaded!!!!!!!!!!!!!")}).fail(function(){console.log("failed!!!!!!!!!!!!!!")});


    // Option 3
    jQuery.getScript('vss-web-extension-sdk/lib/VSS.SDK.js', function() {
        VSS.init({explicitNotifyLoaded: true, usePlatformScripts: true, usePlatformStyles: false});

        var serverContext = VSS.getWebContext();
    });

Я пробовал эти три варианта, но они не работали!ничего не было напечатано.

Я использую VSS.SDK для загрузки webContext.есть идеи?

...