我正在尝试导入redom库,但一直收到此错误:
Uncaught TypeError: Cannot read property 'nodeType' of null
我的代码如下:
<!DOCTYPE html>
<html>
<head>
<script src='test.js'></script>
<script src="libraries/redom.min.js" type='text/javascript'></script>
<script>
const { el, mount } = redom;
const hello = el('h1', 'Hello World');
mount(document.body, hello);
</script>
</head>
<body>
</body>
</html>
如果我将const { el, mount } = redom;
更改为import { el, mount } from 'redom'
,我会Uncaught SyntaxError: Unexpected token import
。
路径正确,redom.min.js没有损坏。
答案 0 :(得分:0)
将属性type="module"
添加到加载redom
的脚本可能会解决问题(如果您使用最新的Chrome):
<script src="libraries/redom.min.js" type="module"></script>
然而,由于大多数浏览器不支持import
语句,因此会出现异常,请参阅quote:
注意:此功能未在本机的任何浏览器中实现 时间。它在许多转发器中实现,例如Traceur Compiler,Babel,Rollup或Webpack。
答案 1 :(得分:0)
如果你想尝试ES2015,你也可以使用:
<!DOCTYPE html>
<html>
<body>
<script type="module">
import { el, mount } from 'https://redom.js.org/redom.es.min.js';
const hello = el('h1', 'Hello RE:DOM!');
mount(document.body, hello);
</script>
</body>
</html>
(你需要一个现代化的浏览器,比如最新的Chrome浏览器)