问题描述
首先,我不擅长 JavaScript,我知道基础知识,但现在 JS 变得非常混乱,对于不在“JS 循环”中的人来说,找到正确的信息很困难。
问题是:
我想在网络浏览器中使用谷歌协议缓冲区。问题是由于以下问题,我无法将其加载到浏览器中:
ReferenceError: Can't find variable: require Global Code — js_pb.js:11
据我所知,这是 nodejs 函数。
js_pb.js
是 protoc 使用 commonjs --js_out=import_style=commonjs,binary
从 proto 文件生成的类。
所以我用谷歌搜索,它看起来像 systemjs
或 requirejs
是要走的路(将 nodejs javascript 加载到网络浏览器中)。
将此添加到 html:
<!-- Load system js -->
<script src="./system.js"></script>
<script src="./extras/named-register.js"></script>
<script src="./extras/amd.js"></script>
<script src="./extras/use-default.js"></script>
<script type="systemjs-importmap">
{
"imports": {
"google-protobuf": "./google-protobuf.js"
}
}
</script>
<script type="systemjs-module" src="./js_pb.js"></script>
<script>
<!-- var message = new proto.poc.MsgPoc(); -->
<!-- import {proto.poc.MsgPoc} from './js_poc_pb.js'; -->
不幸的是,<script type="systemjs-module" src="./js_pb.js"></script>
也返回了缺少 required
的问题。
我的问题是:
- 如何正确使用
systemjs
将该 java 脚本加载到 Web 浏览器中,而无需打包或捆绑 JS ?
或更一般的问题
- 如何将包含 nodejs 函数(
require
等)的 java 脚本加载到 Web 浏览器中,而不将所有依赖项打包到单个 JS(类似 webpack 的包)中?
感谢提前回复 问候
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)