Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Grunt在Javascript中包含静态代码?_Javascript_Node.js_Include_Requirejs_Gruntjs - Fatal编程技术网

如何使用Grunt在Javascript中包含静态代码?

如何使用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

我正在使用grunt编写一个脚本,我将其分为两部分:
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可能是一种更好的方法