问题标签 [static-site-generation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
129 浏览

javascript - 如何在 nuxt.config.js 中从 node_module 获取用于静态站点生成的 javascript?

我正在将一个较旧的网站移植到 Nuxt。我对 Nuxt 比较陌生,正在尝试确定如何正确使用 nuxt.config.js 文件来生成静态站点。

我正在尝试从 npm 包中获取 .js 文件。从文档中我不清楚,这是(a)从 node_modules 获取我的 Javascript 文件的正确方法,以及(b)如何正确地这样做,以便文件通过 Webpack 运行,以便我们获得静态的好处网站生成优化

nuxt.config.js 文件中似乎有很多选项:

  • 使用“head”中的“script”数组(这似乎是针对 CDN,但这不是我想要做的——我想从 node_modules 中的 npm 模块获取资源)。
  • 还有许多其他数组:“buildModules”、“modules”和“build”
  • 创建一个“插件”。这似乎有很多额外的步骤。

例如,在 Nuxt 中,我尝试通过 CDN 获取旧版本的 Bootstrap 和 jQuery,如下所示:

但是,我想使用 npm packages。在此过程中,请确保它对静态站点生成友好。

问题:

  1. 一旦我在本地安装了 npm 包,我将使用哪个 nuxt.config.js 数组来获得 SSR 优化(“buildModules”“modules”和“build”“plugin”)?任何对这些差异的解释将不胜感激。
  2. 老站还有很多其他的npm包,比如Carousels等。如何引用node_modules目录呢?我见过使用~但不确定将我放入哪个目录。(代码示例会有所帮助)。
  3. 最后,有一些自定义 Javascript。我应该把这些 .js 文件放在哪个目录,它应该是“buildModules”、“modules”和“build”“plugin”还是“script”(在“head”部分)?

先感谢您。

0 投票
1 回答
106 浏览

swift - 如何将网站图标添加到使用发布静态网站生成器构建的网站?

看起来发布静态站点生成器Resources通常在我运行生成器时从目录中获取静态资产。我已将favicon.ico文件添加到此目录,但未将其复制到默认Output目录。协议上有一个Favicon具有相应favicon属性的可用Website类型,但不清楚应该如何设置它,以及这是否会自动将文件复制到Output目录中。

favicon.ico将文件复制为资源的最佳方法是什么?这是否需要一个单独的插件,或者如何使用Website协议 API 来实现?

0 投票
0 回答
237 浏览

ionic-framework - Gatsby 构建失败并出现错误“未定义 HTMLElement”

Ionic React和盖茨比一起使用。当我尝试gatsby build它失败时HTMLElement is not defined

它正在编译我没有使用的 Ionic 组件(请检查下面的错误信息)。

我不能setWebpackConfig用来忽略该模块,因为它看起来Ionic React严重依赖window

我如何构建 SSG Ionic React

0 投票
1 回答
558 浏览

static-site - 使用 Eleventy 获取要在主页上显示的最新帖子

我正在深入研究静态站点生成器并尝试使用基本的 110 博客构建一个博客: https ://github.com/11ty/eleventy-base-blog

到目前为止,一切都很好,但我想知道如何让它在主页/索引页面上显示最新的帖子。

开箱即用,它将显示 3 个使用 nunjucks 的帖子的最新链接:

但是我想知道如何从posts目录中获取最新的降价帖子,看看它是否可以拉出来渲染。

我认为必须有一种方法可以像这样检查 nunjucks 中的日期(我知道这是错误的,但试图得到一个想法):

无论如何,我知道这是可能的,但我仍在努力学习并寻求指向正确的方向。

0 投票
2 回答
5383 浏览

javascript - Next.js:嵌套动态路由的 getStaticPaths

想象一下你有这个数据结构:

您有以下路线/posts/[postId[/[commentId] ,因此 Next.js 结构文件夹是:posts/[postId]/[commented].js

然后您需要为此路由生成静态路径。

我编码如下:

但它不起作用。抛出的错误是:

如何将数据“映射”或“循环”为正确的返回格式?提前致谢!

0 投票
1 回答
95 浏览

markdown - Markdown 格式的 Nikola 目录

我已经安装了 Nikola ( https://getnikola.com/ ) 并创建了一个 markdown 文件,该文件成功显示为帖子。

在我的 conf.py 中,安装后我的降价扩展看起来像这样。

似乎默认情况下应该包含目录,所以我启用了它

然后将文本 [TOC] 添加到我的降价文件中,该文件有一些示例标题

在生成的 html 文件中,它只显示 [TOC] 文本。它确实将 #Headings 转换为 html 标题,正如预期的那样,但没有目录。

是否需要更改/启用其他设置才能使其正常工作?

0 投票
1 回答
147 浏览

python - Pelican:在主页上包含文件的内容

菜鸟鹈鹕问题在这里:

我想在我的 pelican 网站的主页上包含与博客无关的帖子,但它只是读取一个 rst 文件并将结果放在主页上。我可以把一个帖子放在一起,但这真的不是我想要的。

我当然可以破解 index.html 模板并将文本直接放在那里。但我想做的是放一些代码来解析文件并将相同的文本放在那里。

0 投票
0 回答
115 浏览

static-site - 是否有任何支持增量构建的静态站点生成器?

我想构建一个带有无头 CMS 后端的静态站点,其中构建过程一次只会发生几页(每当用户在 CMS 中保存页面时),但我找不到任何 SSG 会构建部分站点,而不是在每次更改时重建整个站点。

网站前端不会使用任何像 react/vue 这样的 js 框架,如果这很重要的话。

有任何想法吗?

0 投票
0 回答
26 浏览

node.js - 关于涉及外部 API 的个人项目的建议

我想在个人项目中使用Propublica 的 Congress API,我正在寻找一些方向。他们有 5000 个请求/天的限制,我问他们是否可以将他们的数据存储在数据库中,然后通过网站发送给客户。他们说这很好,不会违反他们的使用条款。

目前,我只想获取数据并练习让它看起来不错,也许稍后实现用户登录,人们可以在其中添加最喜欢的代表来观看/跟踪投票历史等。我在想两种方法。

  1. 练习全栈并将其 API 中的数据存储在 Mongo 数据库中,然后客户端将从该数据库中检索数据。这样,对 Propublica 的 API 的调用将仅限于我的后端服务器,而不是直接来自客户端。如果我这样做,是否有从外部 API 获取和更新数据库的通用方法?我会将其设置为某种带有节点的 cron 作业并定期更新吗?

  2. 使用静态站点生成器,完全绕过数据库,在构建时从 propublica 的 api 获取数据并定期重建。如果我这样做了,关于如何安排重建的任何想法?现在我已经简单地部署到 netlify 并且只是使用了一个 zapier 动作来触发重建......

我想尝试用第一种方法练习更多的 Web 开发,稍后再看看静态站点生成器和 JAM 的东西,但这似乎是一个合理的项目,可以在 Mongo、Express、Node 中使用某种全栈方法,以及我最终使用的任何前端?

0 投票
1 回答
561 浏览

javascript - 如何使用嵌套的动态路由生成静态页面

我一直在这个网站上工作,我碰壁了。基本上我应该按类型列出电影,从数据库中获取。该类型应该将我带到另一个基于该类型的列表。一旦用户点击“动作”类型的电影,它会将他们带到另一个页面上的电影详细信息。这是结构

直到那里一切正常。

转到第二个动态页面,我无法获得第一个和第二个动态页面的值,如下所示......

我正在静态生成网站

如何在第二个动态页面上获取第一页的参数

这就是我所拥有的,我先打电话

我的逻辑是我可以从 getStaticProps 访问路由参数,但不能在 getStaticPaths 中访问,所以我首先调用它,实例化变量然后将它们传递给 getStaticPaths,这样我就可以使用变量进行数据库调用,因为我现在对数据库有点深。如果没有动态参数,我无法拨打电话,如下所示