这似乎是一个非常简单的问题并且已经搜索了答案,但所有答案都是关于动态加载远程网址。
我需要捆绑在Github中作为原始(非NPM)源发布的库。我想webpack下载并将这些文件包含在我的包中。在本地缓存文件一段时间将是一个奖励。
例如,我希望能够写下:
const mylib=require("http://www.espruino.com/modules/ADNS5050.min.js");
让webpack下载并静态包含此js文件。该捆绑包将被推送到一个没有任何网络的嵌入式设备!
由于
答案 0 :(得分:1)
正如我在另一篇文章中所说:我一直在寻找解决方案,并且大多数提案都基于外部,这对我而言无效。我使用了一个单独的JS文件,该文件负责将所需文件下载到本地目录中。然后,WebPack会扫描该目录,并将下载的文件与应用程序捆绑在一起。
答案 1 :(得分:0)
webpack-require-http
插件应该符合您的需求。
或尝试scriptjs
:
var $script = require("scriptjs");
$script("//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js", function() {
$('body').html('It works!')
});
答案 2 :(得分:0)
我设法使用externals
中的函数来完成基本工作,就像这样...
npm install --save-dev fetch
... webpack config ...
var fetchUrl = require('fetch').fetchUrl;
module.exports = {
...
externals: function(context, request, callback) {
if ( request.indexOf('http') === 0 ) {
fetchUrl(request, function(error, meta, body){
if (error) {
throw error;
}
callback(null, body.toString());
});
return;
}
switch (request) {
// these are provided on the target platform
case 'PCD8544':
case 'Flash':
return callback(null, 'require("'+request+'")');
}
// default
callback();
},
...
}
运行webpack --watch
时需要添加一些基本缓存!