我想将一些文件“捆绑”到一个单个js 文件中,但是我不想该Webpack包装器。
假设我有3个文件:
// file1.js
export default { hello: "hello" };
// file2.js
export default { world: "world" };
// index.js
import file1 from "./file1";
import file2 from "./file2";
(() => ({ ...file1, ...file2 }))()
我想要以下结果:
// build/output.js (+ babel...)
(function(){
return Object.assign({}, { hello: "hello" }, { world: "world" });
})()
除了上述构建输出外,没有一行代码。
使用webpack可以吗?谢谢!
答案 0 :(得分:0)
好的,所以我找到了解决方案! 它可能不是最好的,但它可以工作。
我发现this library here将文件串联在一起。
我可以使用npm run build
进行构建。
连接文件的代码是:
// ======================================================
// Tools / Bundle
// ======================================================
// Libs
var path = require("path");
var bundle = require("bundle-js");
module.exports.exec = function() {
// Disable logging (hack for 'bundle-js' library).
var _log = console.log;
console.log = function() {};
// Concatenate each file (required by the application).
var file = path.resolve(__dirname, "../src/index.js");
var bundledCode = bundle({
entry: file,
print: false,
disablebeautify: true
});
// Enable logging.
console.log = _log;
// Return bundled code.
return bundledCode;
};
由于某些原因,即使使用选项{ print: false }
, bundle-js 也会始终输出某些内容。因此,我添加了一个小技巧来解决此问题。