如何解决NuxtJS 可以只生成纯 HTML 吗?
我真的很好奇我是否正确使用 NuxtJS。我只想生成 HTML 页面,所以基本上我不需要任何 JavaScript! 但是每次我用 Nuxt 生成任何页面时,里面都有很多 JS。
现在我设法删除了客户端脚本:
render: {
injectScripts: false
},
在 nuxt.config.js
.. 但现在无论如何都有一个 inlineJS 脚本:
window.__NUXT__={staticAssetsBase:"/_nuxt/static/1614565042",serverRendered:!0,routePath:'"/"'}
甚至
<script>window.__NUXT__={staticAssetsBase:"/_nuxt/static/1614566041"}</script>
<script src="/_nuxt/3dacfb6.js" defer></script>
<script src="/_nuxt/47380cc.js" defer></script>
<script src="/_nuxt/fbdf180.js" defer></script>
<script src="/_nuxt/77b577f.js" defer></script>
<script src="/_nuxt/04f2e32.js" defer></script>
在生成的 HTML 中.. 我不明白为什么没有简单的模式来生成非常简单的 HTML 页面而没有任何开销。 它只是为我重用组件并使用一些非常简单的变量.. 根本不需要使用 JS,我正在生成 CSS 并与 YARN 结合,所以不需要其他任何东西..
我也不喜欢 data-*
标签..我真的不需要它们。我想创建在客户端没有任何功能的简单 HTML 页面,但仍然具有注入(服务器端)并在多个页面中重复使用的“组件”功能。
我用这个配置运行 Nuxt:
target: 'static',render: {
injectScripts: false
},hooks: {
'vue-renderer:ssr:context'(context) {
const routePath = '';
context.nuxt = '';
},},
尽可能多地删除 JS 和标准内容......但似乎仍然无法删除所有内容并只生成一个没有任何额外内容的纯 HTML。
所以问题是:
如何使用 NuxtJS 生成静态页面,而不必包含任何 JS 文件......特别是标准的 NUXT-JavaScript 代码?
如果您认为我不应该将 NuxtJS 用于简单干净的 HTMl 页面,请告诉我 :)
解决方法
Nuxt 并非仅用作 SSR,它确实具有整个 hydration
部分,即使在执行 full static
时,它也会为您的应用带来交互性。您可能可以使用另一个 SSG,例如 11ty 或 hugo 来不加载任何 JS。
但您也可以使用 vue-lazy-hydration 并防止应用顶层的水合作用。它仍然处于测试阶段,但应该可以解决问题。
,“如果你认为我不应该将 NuxtJS 用于简单干净的 HTMl 页面,请告诉我 :)”
你最好不要使用 Nuxt。它是一个建立在 Vue 之上的 JavaScript 框架,让开发 SSR SPA 应用变得超级简单。
您提到您不想使用 JavaScript,但您想访问组件和简单变量。对我来说,使用 PHP 听起来会好得多,并且可能会喜欢 Laravel 框架(不过,如果你不想要整个框架的开销,我会推荐普通的旧 PHP)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。