如何使用Grunt在Javascript中包含静态代码?
我正在使用grunt编写一个脚本,我将其分为两部分:如何使用Grunt在Javascript中包含静态代码?,javascript,node.js,include,requirejs,gruntjs,Javascript,Node.js,Include,Requirejs,Gruntjs,我正在使用grunt编写一个脚本,我将其分为两部分:main.js加载一个内联工作程序,worker.js是内联工作程序的实际代码 这意味着我有以下代码来加载worker,在main.js中: function setupWorker (workerCode) { var blobBuilder = new BlobBuilder(); blobBuilder.append(workerCode); var blob = blobBuilder.getBlob('text
main.js
加载一个内联工作程序,worker.js
是内联工作程序的实际代码
这意味着我有以下代码来加载worker,在main.js
中:
function setupWorker (workerCode) {
var blobBuilder = new BlobBuilder();
blobBuilder.append(workerCode);
var blob = blobBuilder.getBlob('text/javascript');
var url = URL.createObjectURL(blob);
return(url);
}
var workerURL = setupWorker('worker code, contents of worker.js');
var worker = new Worker(workerURL);
现在的问题是,使用Grunt,如何在示例中用worker.js
的实际内容替换'worker code,contents of worker.js'
静态代码包含是否正确?我应该为require.js使用其中一个模块吗?我认为单凭Grunt无法做到这一点,您需要模块。但是为什么不在
worker.js
中创建新的worker呢?问题是,哪些模块?策略是什么?我不会用worker.js
创建新的worker,因为我只想分发一个缩小的文件,而不是两个。顺便说一句,BlobBuilder
不推荐使用-您应该使用var blob=new blob([workerCode],{type:“text/javascript”})
。谢谢@pimvdb,我一直想更新它,但我必须研究旧浏览器对更改的反应。您可以将.js文件作为模板处理,用其他文件的源代码替换变量,但如果不每次构建它,您就无法运行代码,因此我不确定这是一种好方法。requirejs可能是一种更好的方法