Я работаю с файлом 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.есть идеи?