javascript - Javascript 文件加载其他 Javascript 文件没有窗口/文档
问题描述
我正在使用没有窗口或文档的 javascript 文件。我有调用另一个 Javascript 文件 task.js package.json 的 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"
}
}
TFS 调用 javascript 文件存在于 package.json “main” 选项中。package.json 通过“main”选项调用 mytask.js,这个 javascript 文件将作为 TFS 中的任务运行并将内容打印到控制台。
基本上我的问题是没有 HTML 页面或文档,所以我无法通过或 document.addElement 加载 javascript 文件...
我需要将 javascript 文件(来自 vss-web-extension-sdk 的 VSS.SDK.js)加载到 mytask.js。我是 javascript 新手,所以我真的不知道我做错了什么。经过长时间的搜索,我找到了创建全局文档的“jsdom”。但仍然不知道如何加载 VSS.SDK.js 脚本。
我的任务.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。有任何想法吗?
解决方案
推荐阅读
- xml - 使用 XSLT 将父级添加到选定的同级
- javascript - 查找是否为输入类型号选择了文本
- c# - Sql查询使用实体的一个属性的记录使用C#中DataDrid的列标题
- javascript - AJAX 调用 - 每次点击闪烁更多
- docker - 基于 openjdk8 的容器永远不会因 JVM 自身的 OOM 异常而崩溃;总是被 docker 杀死,错误 137
- dependencies - GitHub 公共开源上的发布是否可靠?
- javascript - 脚本有效,但脚本源无效 - ElectronJS
- shell - Gnuplot 图不填充画布
- java - Java解析包含字符串映射的Json对象以映射到字符串到字符串数组
- ssms - 如何回答 xp_cmdshell?