相关疑难解决方法(0)

可交换的JS代码以及从C ++生成的模块是否可以在浏览器中使用?

从今天开始,有任何方法可以将本机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 c++ module emscripten webpack

8
推荐指数
0
解决办法
120
查看次数

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)

javascript reactjs webpack

5
推荐指数
2
解决办法
9381
查看次数

标签 统计

javascript ×2

webpack ×2

c++ ×1

emscripten ×1

module ×1

reactjs ×1