Javascript 要求确认电子发生了什么
谢谢你点击查看我的问题。 我有一个需要冲突的问题。 我有一个网站,它在浏览器中运行良好。但是我必须访问电子的网站,问题来了。我打开Devtools,这里是错误。 我在electron中调试了它,并将错误元素与浏览器中的错误元素进行了比较,我发现require指向不同的js 这是电子中的错误点 这是浏览器中的正确点 我认为这是因为在电子代码和网站代码中都有需求定义。电子中的定义导致不正确点 我怎样才能解决这个问题 这是网站的相关代码Javascript 要求确认电子发生了什么,javascript,node.js,electron,require,Javascript,Node.js,Electron,Require,谢谢你点击查看我的问题。 我有一个需要冲突的问题。 我有一个网站,它在浏览器中运行良好。但是我必须访问电子的网站,问题来了。我打开Devtools,这里是错误。 我在electron中调试了它,并将错误元素与浏览器中的错误元素进行了比较,我发现require指向不同的js 这是电子中的错误点 这是浏览器中的正确点 我认为这是因为在电子代码和网站代码中都有需求定义。电子中的定义导致不正确点 我怎样才能解决这个问题 这是网站的相关代码 export function initMonac
export function initMonacoAsync(element: HTMLElement): Promise<monaco.editor.IStandaloneCodeEditor> {
return new Promise<monaco.editor.IStandaloneCodeEditor>((resolve, reject) => {
if (typeof ((window as any).monaco) === 'object') {
// monaco is already loaded
resolve(createEditor(element));
return;
}
let monacoPaths: Map<string> = (window as any).MonacoPaths
let onGotAmdLoader = () => {
let req = (window as any).require
req.config({
paths: monacoPaths,
ignoreDuplicateModules: ["vs/basic-languages/typescript/typescript.contribution", "vs/basic-languages/javascript/javascript.contribution"]
});
// Mock out the JavaScript and TypeScript modules because we use our own language service
let def = (window as any).define;
def("vs/basic-languages/typescript/typescript.contribution", ["require", "exports"], function() { return function() {} })
def("vs/basic-languages/javascript/javascript.contribution", ["require", "exports"], function() { return function() {} })
def("vs/language/typescript/tsMode", ["require", "exports"], function() {
return {
setupTypeScript: () => {},
getTypeScriptWorker: () => {},
setupJavaScript: () => {},
getJavaScriptWorker: () => {},
}
})
// Load monaco
req(['vs/editor/editor.main'], () => {
setupMonaco();
resolve(createEditor(element));
});
};
// Load AMD loader if necessary
if (!(<any>window).require) {
let loaderScript = document.createElement('script');
loaderScript.type = 'text/javascript';
loaderScript.src = monacoPaths['vs/loader'];
loaderScript.addEventListener('load', onGotAmdLoader);
document.body.appendChild(loaderScript);
} else {
onGotAmdLoader();
}
})
}
导出函数initMonacoAsync(元素:HTMLElement):Promise{
返回新承诺((解决、拒绝)=>{
if(typeof((窗口如有).monaco)==“对象”){
//摩纳哥已经上船了
解析(createEditor(元素));
返回;
}
让monacoPaths:Map=(窗口为任意窗口)。monacoPaths
让onGotAmdLoader=()=>{
let req=(如有窗口)。需要
req.config({
路径:monacoPaths,
忽略重复模块:[“vs/basic languages/typescript/typescript.contribution”,“vs/basic languages/javascript/javascript.contribution”]
});
//模拟JavaScript和TypeScript模块,因为我们使用自己的语言服务
让def=(窗口如有)。定义;
def(“vs/basic languages/typescript/typescript.contribution”、[“require”、“exports”]、function(){return function(){})
def(“vs/basic languages/javascript/javascript.contribution”、[“require”、“exports”]、function(){return function(){})
def(“vs/language/typescript/tsMode”、[“require”、“exports”]、function(){
返回{
setupTypeScript:()=>{},
getTypeScriptWorker:()=>{},
setupJavaScript:()=>{},
getJavaScriptWorker:()=>{},
}
})
//装载摩纳哥
请求(['vs/editor/editor.main'],()=>{
(b);
解析(createEditor(元素));
});
};
//如有必要,加载AMD加载程序
如果(!(窗口).require){
让loaderScript=document.createElement('script');
loaderScript.type='text/javascript';
loaderScript.src=monacoPaths['vs/loader'];
loaderScript.addEventListener('load',OnGetAdminLoader);
document.body.appendChild(loaderScript);
}否则{
onGotAmdLoader();
}
})
}