从今天开始,有任何方法可以将本机JS脚本与从C ++代码(从Emscripten,chirp,clang-8 +等)生成的模块组合在一起,从而可以在重新使用模块的同时交换/修改脚本(即不必重新处理它们)在Node.js 和浏览器环境中都可以使用?
这句话很长-让我举个例子:
我想用JavaScript编写一些代码(例如测试代码),该代码使用fooC ++中实现的库(例如)。
我当前的(工作)设置如下所示:
浏览器
test1.js \
\
===(webpack)==> full.js
/
foo.cpp ==(emscripten)==> foo.js /
Run Code Online (Sandbox Code Playgroud)
Node.js:
foo.cpp ==(gcc/N-API)==> foo.node <--(require)-- test1.js
Run Code Online (Sandbox Code Playgroud)
浏览器方法的问题在于(AFAIK)每次修改/交换时我都必须重新运行WebPack test1.js才能将更改引入浏览器。
就我而言,运行webpack可能要花费很长时间,并且生成的构件相当大(10MB的倍数)。另外,我想在没有WebPack的相对较小的设备上运行代码,所以我什至每次都必须将这些工件传输到设备上。
因此,我现在想foo在一个地方(例如,在设备上)保留一个包含模块(无论如何看起来)的预处理工件,同时仅交换相对较小的本机JavaScript代码(test1.js)。(想象一下test*.js一个连续执行数百个文件的测试场景)
使用现代的浏览器/工具,ES6,ESM或您可以想到的任何方法-是否有办法为浏览器实现此目的?
奖励点是一个答案,它使我可以编写无需修改即可在Node.js 和浏览器中使用的代码。:)
抱歉:这是我什至不想使用WebPack时对此问题的修改,但现在我降低了期望。
我想知道是否可以使用一些 javascript 文件构建一个捆绑包,但没有依赖项?
我想要包含 React 组件的小包(在我的例子中,每个 React 组件都是由几个 React 组件构建的,例如评论组件包括评论框、列表和表单),我可以通过指定几个条目将 React 组件拆分为单独的文件webpack 中的点,但如果我有: 1. 组件注释 2. 组件新闻通讯,并且两者都需要 ReactDOM,将生成的文件将有 600kb 左右,其中我的 React 组件仅包含约 100 行 js 代码。
我想要再多一个文件,其中包含来自“require('react-dom')”的所有代码,而这两个文件仅包含 React 组件代码。这可能吗?
我当前的设置:
'use strict';
import path from 'path';
import CommonsChunkPlugin from "webpack/lib/optimize/CommonsChunkPlugin";
module.exports = {
entry: {
app: "./app.js",
newsletter: "./components/renderers/newsletter.renderer.js",
comment: "./components/renderers/comment.renderer.js"
},
output: {
path: path.join(__dirname),
filename: "built/[name].entry.js"
},
devtool: 'sourcemaps',
cache: true,
debug: true,
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: [/(node_modules)/],
loader: 'babel'
}
],
resolve: { …Run Code Online (Sandbox Code Playgroud)