大家好,我是Web开发的初学者。我正在做一个项目,在那里我需要使用一个npm包npm i link-preview-js
在JavaScript文件与HTML文件,并在浏览器中运行它
random.js文件
import { getLinkPreview, getPreviewFromContent } from "link-preview-js";
// pass the link directly
getLinkPreview("https://www.youtube.com/watch?v=MejbOFk7H6c").then((data) =>
console.log(data)
);
html文件
<!DOCTYPE html>
<html lang="en">
<head>
<script src="random.js"></script>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body></body>
</html>
我收到错误Uncaught SyntaxError: Cannot use import statement outside a module (at random.js:1:1)
我知道我是一个乞丐,他们可能是一个愚蠢的错误,但请你能帮助我解决它提前感谢。
3条答案
按热度按时间bwitn5fc1#
您可以将文件转换为模块或使用require语法对于第一个解决方案,请添加:
在package.json文件中。希望它能解决你的问题!
yizd12fk2#
import
是ES6 modules(和TypeScript模块)的一个特性。虽然浏览器支持它:
/
或.
开头。更典型的是将模块与捆绑器(如Webpack或Parcel)结合使用。
也就是说,你需要read the documentation:
您无法从Web应用请求不同的域(浏览器阻止跨源请求)。如果你不知道同源策略是如何工作的,这里有一个很好的介绍,因此这个库可以在node(后端环境)和某些移动的运行时(cordova或react-native)上工作。
您可以考虑使用Node.js和Express.js创建一个web服务,然后使用 AJAX 从客户端代码访问它。
eqqqjvef3#
如果你想调用js文件并在js文件中导入一些东西,你需要将它作为一个模块导入html。