目前,我在节点JS中有以下文件夹布局,并已安装了快递js
sdk-components
--- HlsLoader.js
node_modules
--- hls.js
--- src
--- index.html
--- index.js
--- dist
--- hls.js
--- other files当我像这样在本地主机中加载index.html时:
http://localhost:8000/src/index.html它调用index.js,其中包含:
import { hlsLoaderType, makeHlsLoader } from '../sdk-components/HlsLoader.js';HlsLoader.js的第一行包含:
import Hls from 'hls.js';然而,当我运行index.html时,我在控制台中得到了这个错误:
TypeError: Module specifier, 'hls.js' does not start with "/", "./", or "../"但是,当我将导入修改为:
import Hls from '../node_modules/hls.js/dist/hls.js';相反,我得到了这个错误:
SyntaxError: Importing binding name 'default' cannot be resolved by star export entries.因此,我的问题是,如何解决hls.js文件的导入问题?
谢谢!
发布于 2022-04-16 06:31:54
我刚用香草JS收到这条消息。(我是如何找到这条线的)。
您拥有的第一个问题:"TypeError:模块说明符“意味着当您导入文件时,需要将其指定为模块。
当我将文件导入到我的html文档中时,我已经指定该文件具有一种模块类型:
<head>
...
<link rel="stylesheet" href="./styles.css">
<script src="./data.js" type="module" defer></script>
<script src="./index.js" type="module" defer></script>
<title>Module List</title>
</head> 这应该可以消除错误..。
接下来是导入:2我总是使用ES6模块导入/导出:
1(也与您的问题无关):检查导入中是否包含扩展.js。(出于某种原因,我在演示中看到,其他人不包括它,但对我来说,扩展似乎总是很重要的。
2:正在检查您试图引入的内容是否是以正确的格式引入的。(如果我没有使用正确的行话,请原谅。我也是个学生。
解决我的问题的办法是,它是一个对象,我把它作为一个函数--没有花括号。我只需要在它周围加上括号,同样的错误就消失了,数据如期而至:
// data.js文件
export const inverterManData = [
{ manufacturer: 'enphase', value: 'enphase' },
{ manufacturer: 'SMA', value: 'SMA' }
]// index.js文件
import {inverterManData} from './data.js'
console.log(inverterManData)结果:
console: [{manufacturer: "enphase", value: "enphase"}, {manufacturer: "SMA", value: "SMA"}] (2) ...and如果去掉花括号,请注意,这将再次导致错误。
希望这能有所帮助!
https://stackoverflow.com/questions/68418259
复制相似问题