首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节点JS“导入绑定名称‘默认’不能由HLS.js的星导出条目解析”

节点JS“导入绑定名称‘默认’不能由HLS.js的星导出条目解析”
EN

Stack Overflow用户
提问于 2021-07-17 07:15:00
回答 1查看 3.1K关注 0票数 2

目前,我在节点JS中有以下文件夹布局,并已安装了快递js

代码语言:javascript
复制
sdk-components
    --- HlsLoader.js

node_modules
    --- hls.js
        --- src
            --- index.html 
            --- index.js 
        --- dist
            --- hls.js
            --- other files

当我像这样在本地主机中加载index.html时:

代码语言:javascript
复制
http://localhost:8000/src/index.html

它调用index.js,其中包含:

代码语言:javascript
复制
import { hlsLoaderType, makeHlsLoader } from '../sdk-components/HlsLoader.js';

HlsLoader.js的第一行包含:

代码语言:javascript
复制
import Hls from 'hls.js';

然而,当我运行index.html时,我在控制台中得到了这个错误:

代码语言:javascript
复制
TypeError: Module specifier, 'hls.js' does not start with "/", "./", or "../"

但是,当我将导入修改为:

代码语言:javascript
复制
import Hls from '../node_modules/hls.js/dist/hls.js';

相反,我得到了这个错误:

代码语言:javascript
复制
SyntaxError: Importing binding name 'default' cannot be resolved by star export entries.

因此,我的问题是,如何解决hls.js文件的导入问题?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-04-16 06:31:54

我刚用香草JS收到这条消息。(我是如何找到这条线的)。

您拥有的第一个问题:"TypeError:模块说明符“意味着当您导入文件时,需要将其指定为模块。

当我将文件导入到我的html文档中时,我已经指定该文件具有一种模块类型:

代码语言:javascript
复制
<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文件

代码语言:javascript
复制
export const inverterManData = [
    { manufacturer: 'enphase', value: 'enphase' },
    { manufacturer: 'SMA', value: 'SMA' }
]

// index.js文件

代码语言:javascript
复制
import {inverterManData} from './data.js'

console.log(inverterManData)

结果:

代码语言:javascript
复制
console: [{manufacturer: "enphase", value: "enphase"}, {manufacturer: "SMA", value: "SMA"}] (2) 

...and如果去掉花括号,请注意,这将再次导致错误。

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68418259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档