引入JavaScript模块时浏览器提示wwwroot下文件找不到如何解决
解决方案
- 补全所有导入路径的
.js后缀
浏览器原生ES模块不支持自动补全文件扩展名,你当前的导入路径没有明确写.js,会导致浏览器无法匹配到对应的文件。所有导入语句按如下规则修改:
// 修改前 import FocusTrap from './mdb/util/focusTrap'; // 修改后 import FocusTrap from './mdb/util/focusTrap.js';
所有导入路径都需要加上对应的.js后缀,包括导入index.js的路径也要写全为./mdb/util/index.js。
- 确认引入主JS文件的script标签添加了
type="module"属性
只有添加了该属性,浏览器才会按ES模块规则解析文件,否则会直接报导入语法错误:
<script type="module" src="你的Table Editor JS文件路径"></script>
不要在路径前加
~符号~是Webpack、Vite等构建工具支持的路径别名语法,原生浏览器不识别该写法,会直接触发语法错误。你当前的主JS文件和mdb、table文件夹同级,用./开头的相对路径逻辑是正确的。路径排查技巧
如果修改后仍报错,可以打开浏览器控制台的「网络」面板,查看浏览器实际发起的模块请求路径,和你的wwwroot目录结构对比,调整到路径匹配即可。
也可以直接用从wwwroot根目录出发的绝对路径,避免相对路径层级写错,比如你的文件存放在wwwroot/plugins/mdb/util/focusTrap.js,导入路径直接写/plugins/mdb/util/focusTrap.js即可。
内容的提问来源于stack exchange,提问作者SamyCode
相关产品推荐
相关产品推荐

