我正在探索潜在的使用Astro框架建立网站。因此,我正在通过教程进行工作。 不幸的是,某些事情并没有很好地工作,这让我感到震惊的是什么

问题描述 投票:0回答:1
5:52:14 PM: 22:52:14 [ERROR] [vite] x Build failed in 15ms 5:52:14 PM: Could not resolve "../scripts/menu.js" from "src/pages/blog.astro?astro&type=script&index=0&lang.ts" 5:52:14 PM: file: /opt/build/repo/src/pages/blog.astro?astro&type=script&index=0&lang.ts 5:52:14 PM: Stack trace: 5:52:14 PM: at getRollupError (file:///opt/build/repo/node_modules/rollup/dist/es/shared/parseAst.js:396:41) 5:52:14 PM: at ModuleLoader.handleInvalidResolvedId (file:///opt/build/repo/node_modules/rollup/dist/es/shared/node-entry.js:20216:24) 5:52:14 PM: ​ 5:52:14 PM: "build.command" failed 5:52:14 PM: ────────────────────────────────────────────────────────────────

上面来自NetLify,但也会在我在Dev Server上运行构建命令时发生。 这是Astro/HTML代码:

<body> <Header /> <h1>{pageTitle}</h1> <p>This is where I will post about my journey learning Astro.</p> <ul> <li><a href="/posts/post-1/">Post 1</a></li> <li><a href="/posts/post-2/">Post 2</a></li> <li><a href="/posts/post-3/">Post 3</a></li> </ul> <Footer /> <script> import '../scripts/menu.js'; </script> </body>
这是菜单的内容。JS:

document.querySelector('.hamburger').addEventListener('click', () => { document.querySelector('.nav-links').classList.toggle('expanded'); });
当我搜索Google的答案时,这会导致我在脚本标签中添加MIME类型,该标签提示Astro不处理JavaScript。  从技术上讲,这允许构建完成,但没有帮助,因为JavaScript不会出现在最后一个网页中。  谁能指向我出了什么问题的方向?
    

对于Astro到它的事物,
script

标签需要在Astro组件的HTML部分之外:

javascript astrojs
1个回答
0
投票

或您可以直接包含

menu.js
直接内联的内容。如果Astro足够长的时间,Astro将产生一个外部文件(它在引擎盖下使用vite来进行捆绑)。


© www.soinside.com 2019 - 2025. All rights reserved.