【发布时间】:2021-11-11 00:37:10
【问题描述】:
这是我的索引文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta name="description" content="test">
<!-- iOS meta tags & icons -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="test">
<title>test</title>
</head>
<body>
<script type="text/javascript">
console.log('myname');
calcbymodel('/model.json',[0,0,0,0]);
</script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.0.0/dist/tf.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/fetch-polyfill@0.8.2/fetch.js"></script><!-- fetch -->
<script src="./babel.min.js"></script><!-- babel -->
<script src="./app.js" type='text/babel'></script>
</body>
</html>
这里是 app.js 文件
async function calcbymodel(path, input) {
const model = await tf.loadLayersModel(path);
const r = model.predict(tf.tensor(input));
r.data().then(array => console.log(array));
return r.data();
}
我想知道为什么控制台说:
Uncaught ReferenceError: calcbymodel is not defined
at (index):21
(anonymous) @ (index):21
对于 babel 脚本,由于公司政策拒绝,无法导入。 所以,我作为本地文件导入。 这是链接:
https://unpkg.com/@babel/standalone/babel.min.js
谁能帮帮我?
原来是 babel 脚本问题。 这是链接: Why JS cannot find the function in babel script?
【问题讨论】:
-
bundle 是完全独立的,不会向全局命名空间公开任何内容。如果您希望您的脚本使用该功能,请将您的脚本作为包的一部分,包括导入或要求(取决于您的包的基本代码是 ESM 还是 CJS)。不要内联它。
-
另外,你需要 babel 做什么?获取polyfill?你在什么浏览器上运行这个? IE 6?你在做客户端机器学习!
-
this question上有一个很好的答案