小编Mar*_*ger的帖子

在 Nuxt.js 中的服务器启动时仅运行一次某些代码的最佳方法(而不是在构建期间)

当我为 StackOverflow写这个答案时,我遇到了一个问题,即我想在服务器启动时(或服务器启动时)在 Nuxt.js 中执行一次某些代码。

我想过编写一个模块或插件,但没有成功,因为每次我联系服务器时,即每次调用localhost:3000/myPage时,都会执行这两个模块或插件。可能我缺少正确的模块挂钩或某些插件设置?

由于我在官方文档中找不到有关此问题的任何信息,因此我现在想出了一个相当丑陋的解决方案:我编写了一个服务器中间件,它执行一些代码(应该只运行一次的代码),然后返回一个空处理程序 -现在,这为每个请求增加了(少量)不必要的开销。

我的问题:在启动期间/启动后而不是在构建期间在 Nuxt.js 服务器上执行一次某些代码的最佳方法是什么?


最小的丑陋工作示例

nuxt.config.js:

export default {
  ...
  serverMiddleware: [ "~/serverMiddleware/run-once.js" ]
  ...
}
Run Code Online (Sandbox Code Playgroud)

~/serverMiddleware/run-once.js:

console.log("Yay, I only run once when the server is started!")
// Since we are a serverMiddleware, we have to return a handler, even if this it does nothing
// I think this is really ugly...
export default function (req, res, next) {
  next()
}
Run Code Online (Sandbox Code Playgroud)

PS:我看到诸如Nuxt JS 插件是否可以只运行一次?但它似乎没有回答我的问题,因为 …

javascript vue.js nuxt.js nuxtjs

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

替换R中字符串内某个位置的字符

给定某个字符串,例如,s = "tesX123"如何在某个位置替换某个字符?

在此示例中,位置处的char 4应更改为"t".是否存在一种风格setChar(s, 4, "t")会导致的方法test123

string r character

14
推荐指数
2
解决办法
5578
查看次数

python - 查找用户的"Downloads"文件夹

我已经发现这个问题建议os.path.expanduser(path)用来获取用户的主目录.

我想用"Downloads"文件夹实现相同的功能.我知道这在C#中是可能的,但我是Python的新手,并且不知道这是否可行,更喜欢与平台无关(Windows,Ubuntu).

我知道,我只是能做到download_folder = os.path.expanduser("~")+"/Downloads/"的,但(至少在Windows中),可以更改默认下载文件夹.

python directory special-folders

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

如何用Java检测当前显示?

我连接了2个显示器,因此我可以在主显示器或辅助显示器上启动我的Java应用程序.

问题是:我怎么知道哪个显示包含我的应用程序窗口,即有没有办法用Java检测当前显示?

java

12
推荐指数
2
解决办法
9315
查看次数

如何在CSS中设置JavaFX菜单及其项目的样式?

我有一个在FXML中设置如下的MenuBar:

<MenuBar VBox.vgrow="NEVER">
    <menus>
        <Menu mnemonicParsing="true" text="_File">
            <items>
                <MenuItem mnemonicParsing="true" text="_New Project"/>
                <MenuItem mnemonicParsing="true" text="_Open…"/>
                <MenuItem mnemonicParsing="false" text="Quit"/>
            </items>
        </Menu>
    </menus>
</MenuBar>
Run Code Online (Sandbox Code Playgroud)

这会产生如下菜单:

在此输入图像描述

我用以下CSS 成功设置MenuBarMenu 文件文件的样式:

.menu-bar { /* The menu bar itself */ }
.menu { /* The File menu item */ }
.menu:showing { /* menu when it's being shown (activated) */ }
.menu .label { /* Styles the text on a menu item */ }
.menu:showing .label { /* Styles the …
Run Code Online (Sandbox Code Playgroud)

css javafx menu javafx-2 javafx-8

11
推荐指数
1
解决办法
3万
查看次数

Java中侦听器的正确(和最佳)集合类型

我只是想在我的一个类中引入一个小的观察者模式(听众),我想使用最佳实践方法.

我的监听界面:

public interface ExpansionListener {
    void expanded();
    void collapsed();
}
Run Code Online (Sandbox Code Playgroud)

因此,我想保留一个听众列表

private List listener; // What kind of list should I take?
Run Code Online (Sandbox Code Playgroud)

和两种方法addListener(ExpansionListener l)removeListener(ExpansionListener l).

现在,我的问题是:我应该采取什么样的清单?我想过使用像CopyOnWriteArrayList这样的并发列表,但我发现EventListenerList也存在.Java中监听器列表的最佳实践方法是什么?

java listener observer-pattern eventlistenerlist

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

在Ubuntu(OpenJDK 8)上的哪里可以找到Java Mission Control和VisualVM?

我在Ubuntu上使用安装了OpenJDK 8 sudo apt-get install openjdk-8-jdk,并将其安装到/usr/lib/jvm/java-8-openjdk-amd64

在哪里可以找到Java Mission Control(我认为是jmc)和VisualVM(我认为是jvisualvm)程序?

我假设两者都与JDK一起安装:

  • Java Mission Control页面指出:“从Oracle JDK 7 Update 40(7u40)版本开始,Java Mission Control与HotSpot JVM捆绑在一起。”
  • VisualVM页面显示 “ 2014年3月18日:JDK 8已发布,可以在此处下载。它包含基于VisualVM 1.3.6的Java VisualVM工具。”

我想念什么?两者只是Oracle JDK的一部分,还是我使用了错误的安装命令?

如果它们不是OpenJDK的一部分,我可以使用apt-get install吗?

java ubuntu jvm

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

如何在Kotlin文档(KDoc)中添加粗体,斜体,下划线等格式

我在Kotlin官方参考中找到了记录Kotlin代码的页面.

然而,我无法找到如何突出文档的某些部分,例如,将其标记为斜体或粗体.

我是Kotlin的新手,来自Java,以前只使用过我们使用的JavaDoc <i><b>HTML标签来突出文档中的部分.

formatting code-documentation kotlin kdoc

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

如果我在 Python 中调用 `None == x` ,“幕后”会发生什么?

我正在学习和使用 Python,我想出了以下测试代码(请注意,我不会编写这样的高效代码,但在学习新语言时,我喜欢尝试该语言的极端情况):

a = None    
print(None == a) # I expected True, I got True

b = 1
print(None == b) # I expected False, I got False

class MyNone:
    # Called if I compare some myMyNone == somethingElse
    def __eq__(self, __o: object) -> bool:
        return True

c = MyNone()
print (None == c) # !!! I expected False, I got True !!!
Run Code Online (Sandbox Code Playgroud)

请参阅代码示例的最后一行。

None == something明明不存在的东西怎么会None返回True呢?我本希望得到这样的结果something == None,但不是None == …

python equality comparison-operators python-3.x nonetype

9
推荐指数
2
解决办法
319
查看次数

@JvmDefault以及如何添加编译器选项

我需要default void在Kotlin界面中制作一个方法。我遇到了一个问题,提示说@JvmDefault仅允许使用-Xjvm-defaultoption”

我该在哪里写Xjvm-default

compiler-flags kotlin kotlinc jvm-default

8
推荐指数
3
解决办法
1140
查看次数