小编Blu*_*oye的帖子

如何处理带有 .html 扩展名但在 <Link> 中没有 .html 的 NextJS 导出文件

所以,我有一个 NextJS 应用程序,我构建链接的方式是通过组件。例如:<Link href="/my-page"><a>My page</a></Link>。我已经使用这种模式构建了整个应用程序,但是,当我进行导出以生成静态站点时,它创建了带有 .html 扩展名的页面的 out 文件夹。这现在是一个问题,因为说一个链接可能指向/my-page但实际页面是/my-page.html. 处理这个问题的正确方法是什么?NextJS 是否允许我们在这种情况下做任何事情,还是我需要返回并使用/my-page.html链接对所有标签进行编码?

谢谢。

javascript next.js

14
推荐指数
1
解决办法
2338
查看次数

查询字符串中参数的位置如何影响页面?

我有一个应用程序,其中大部分代码都是用javascript编写的.我遇到了一个奇怪的问题.我有一个查询字符串,我的应用程序读取它以执行各种操作.昨天我更改了查询字符串参数的顺序,应用程序停止工作.如果我把原始订单退回,那么它就开始工作了.可能是什么原因?我认为参数排序的效果无关紧要.但是,显然它出于某种原因确实很重要.我仍在试图挖掘出可能存在的问题,但想知道这里是否有人遇到过类似的问题?

谢谢.

javascript

7
推荐指数
1
解决办法
5381
查看次数

jQuery'click'自动触发'live'

这是一段简单的代码:

HTML:

<div id="close">Click me</div>
Run Code Online (Sandbox Code Playgroud)

JS代码:

$("#close").click(function(){
    alert("1");
    $(this).attr('id','expand');
});



$("#expand").live('click', function(){
    alert("2");
    $(this).attr('id','close');            
});
Run Code Online (Sandbox Code Playgroud)

问题:当我点击"关闭"时,它也会自动调用live().在jsfiddle中看到这个:http://jsfiddle.net/uFJkg/

是因为我将同一元素的id从"close"更改为"expand"?我该如何解决这个问题?

我试过了:

 $("#expand").die().live('click', function()
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我尝试了event.stopPropagation(),但这也没有帮助.我尝试使用id为"expand"的单独div并将其隐藏在document.ready上但由于某种原因它也不起作用.

然后我尝试了,因为我读到jQuery 1.7+中不推荐使用live():

$("#expand").on('click', function(){
Run Code Online (Sandbox Code Playgroud)

这也不行.

有什么想法吗?我认为一双新鲜的眼睛能够发现我所缺少的东西.

谢谢.

javascript jquery

5
推荐指数
1
解决办法
960
查看次数

在 React 组件之前等待外部脚本加载

我有一个 NextJS 应用程序,页面结构大致如下所示:

<Head>
<Navigation>
<Page>
<Footer>
Run Code Online (Sandbox Code Playgroud)

我有一个需要在<Head>组件中加载的 DTM 脚本,然后在组件中触发一些标签<Page>。但问题是,标签<Page>DTM 脚本加载到页面之前就开始触发。

那么,有没有办法让<Head>标签中的DTM脚本在组件加载之前先加载呢<Page>?我一直想使用“componentwillmount”,但它已被弃用。

有人可以建议我如何解决这个问题吗?

javascript reactjs next.js

4
推荐指数
1
解决办法
2万
查看次数

Cloudfront 在连接到 ELB/Elastic Beanstalk 时抛出 504

因此,我有一个托管在 Elastic Beanstalk 上的 NextJS 应用程序(它在 docker 文件中的端口 3000 上公开)。现在,我已在 Godaddy 注册了域名。我最初在 Godaddy 中设置了指向 Elastic Beanstalk 的 DNS。但后来我想使用 cloudfront 进行 CDN/缓存。

因此,我开始配置 Cloudfront(使用本文)。我创建了自定义 SSL 证书并通过 DNS 对其进行了验证。我将 cloudfront 中的原点设置为指向 ELB。

现在,部署 cloudfront 发行版后,我尝试使用 cloudfront URL xxxxx.cloudfront.net,但出现"504 ERROR - The request could not be satisfied"错误。

如果我访问 ELB URL,我就可以访问我的应用程序。所以,我不确定这里出了什么问题。如果 Cloudfront 指向 ELB 并且 ELB 有效,那么为什么 cloudfront URL 不起作用。

有什么建议/建议吗?

amazon-web-services amazon-cloudfront amazon-elb amazon-elastic-beanstalk

2
推荐指数
1
解决办法
3004
查看次数

如何通过 Grunt 运行节点脚本?

我希望通过我的 gruntfile 运行节点命令。我只需要运行:

node index.js
Run Code Online (Sandbox Code Playgroud)

作为任何其他任务之前的第一个任务。我试着四处寻找,但没有找到答案。我相信这可能很简单,但我不确定如何。我需要加载nmp任务吗?

这是我的 Gruntfile 的样子:

"use strict";

module.exports = function(grunt) {

  // Project configuration.
  grunt.initConfig({
    jshint: {
      all: [
        'Gruntfile.js'
      ],
      options: {
        jshintrc: '.jshintrc',
      },
    },

    // Before generating any new files, remove any previously-created files.
    clean: {
      tests: ['dist/*']
    },

    // Configuration to be run (and then tested).
    mustache_render: {
      json_data: {
        files: [
          {
            data: 'jsons/offer.json',
            template: 'offers.mustache',
            dest: 'dist/offers.html'
          },
          {
            data: 'jsons/profile.json',
            template: 'profile.mustache',
            dest: 'dist/profile.html'
          }
        ]
      }
    }
  }); …
Run Code Online (Sandbox Code Playgroud)

node.js gruntjs

1
推荐指数
1
解决办法
5919
查看次数