Angularjs 从服务器向webworker提供服务时webworker中的路径解析
我正在尝试为Angularjs 从服务器向webworker提供服务时webworker中的路径解析,angularjs,web-worker,Angularjs,Web Worker,我正在尝试为highlightjs设置webworker。我无法在webworker中导入库。这是带有node.js服务器的angular应用程序。我肯定我遗漏了一些简单的愚蠢的东西。请帮我解决这个问题 突出显示.webworker.js onmessage = function(event) { console.log('worker location', self.location); importScripts('highlight.pack.js'); // DOES NOT L
highlightjs
设置webworker。我无法在webworker中导入库。这是带有node.js服务器的angular应用程序。我肯定我遗漏了一些简单的愚蠢的东西。请帮我解决这个问题
突出显示.webworker.js
onmessage = function(event) {
console.log('worker location', self.location);
importScripts('highlight.pack.js'); // DOES NOT LOAD
var result = self.hljs.highlightAuto(event.data);
postMessage(result.value);
}
webworker.controller.jsnode.js向客户端提供脚本的webwoker控制器(需要这样做以避免跨域错误)
返回webworker脚本(如上所示)
网络工人工厂
var app = angular.module('webworker.services', []);
app.factory('highlightWebworker', ['$q', 'wizMarkdownSvc', function($q, wizMarkdownSvc) {
var worker = new Worker('/webworkers/highlight');
var defer = $q.defer();
worker.onmessage = function(code) {
console.log('data from worker',code);
defer.resolve(code);
};
return {
highlightCode: function(markdownStr) {
defer = $q.defer();
worker.postMessage(markdownStr); // Send data to our worker.
return defer.promise;
}
};
}]);
var app = angular.module('webworker.services', []);
app.factory('highlightWebworker', ['$q', 'wizMarkdownSvc', function($q, wizMarkdownSvc) {
var worker = new Worker('/webworkers/highlight');
var defer = $q.defer();
worker.onmessage = function(code) {
console.log('data from worker',code);
defer.resolve(code);
};
return {
highlightCode: function(markdownStr) {
defer = $q.defer();
worker.postMessage(markdownStr); // Send data to our worker.
return defer.promise;
}
};
}]);