Gur*_*ara 6 javascript typescript systemjs webpack angular
我需要从内存变量中导入JavaScript模块。我知道可以使用SystemJS和Webpack来完成。
但是我在任何地方都找不到合适的工作示例或文档。这些文档主要讨论动态导入.js文件。
基本上我需要像下面那样导入模块
let moduleData = "export function doSomething(string) { return string + '-done'; };"
//Need code to import that moduleData into memory
Run Code Online (Sandbox Code Playgroud)
如果有人可以指向文档,那将是很棒的
小智 9
let moduleData = await import("data:text/javascript,export function doSomething(str) { return str + '-done'; }");
Run Code Online (Sandbox Code Playgroud)
并测试它
moduleData.doSomething('test');
Run Code Online (Sandbox Code Playgroud)
import语法上有一些限制,如果不使用外部库,即使不是不可能,也很难做到。
我能得到的最接近的是使用动态导入语法。一个例子如下:
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<script>
var moduleData = "export function hello() { alert('hello'); };";
var b64moduleData = "data:text/javascript;base64," + btoa(moduleData);
</script>
<script type="module">
async function doimport() {
const module = await import(b64moduleData);
module.hello();
}
doimport();
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但是,您会注意到这对构建导入代码的方式有一些限制,可能与您需要的不完全匹配。最简单的解决方案可能是将模块的代码发送到服务器上,以便它生成一个临时脚本,然后使用更传统的语法导入。
| 归档时间: |
|
| 查看次数: |
987 次 |
| 最近记录: |