小编Jér*_*ôme的帖子

将服务工作者与Docker容器内的Webpack开发服务器一起使用

我正在尝试使用Webpack和Docker在Web应用程序内使用服务人员。

我目前所做的一切都运行良好(服务人员,webpack配置,人员注册...)

实际上,我的应用程序是在Docker容器中运行的,在这个容器中,我可以启动Webpack构建来创建所有JS文件。

但是现在我希望能够与服务工作者一起使用webpack开发服务器和HMR。

为此,我使用了https://github.com/oliviertassinari/serviceworker-webpack-plugin,它可以正确地在manifest.json

然后,当我通过Web浏览器访问我的应用程序时,除了我的工作人员外,所有已建资产都被找到。

我在docker容器中使用(我使用webpack-encore)运行我的开发服务器

encore dev-server --hot --host 0.0.0.0 --port 8080
Run Code Online (Sandbox Code Playgroud)

要加载我的资产浏览器请求他们0.0.0.0:8080,但我的工人被注册localhost:8000,因此请求,因为工人所在与404错误失败0.0.0.0:8080/sw.js,而不是localhost:8080/sw.js

我想知道是否有可能解决此问题并使我的服务工作者在docker容器上的webpack-dev-server内部工作。

我知道服务人员仅在侦听他们的范围,localhost:8000/*但对于我来说,webpack-dev-server是0.0.0.0:8080

这就是为什么我问是否有可能更改此行为以使其起作用,以及是否有人已经存在此问题的原因。

谢谢

javascript docker webpack service-worker webpack-dev-server

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

Launch two nodejs app inside Docker container using pm2

I'm trying to launch 2 nodejs app inside a Docker container using PM2, so I made a custom Dockerfile with all the projects config

FROM node:argon

RUN npm install pm2 -g --silent

VOLUME ./src/app:/usr/src/app
WORKDIR /usr/src/app

RUN git clone https://github.com/yoonic/atlas.git backend
RUN cd backend && \
    npm i --silent && \
    pm2 start npm --name "backend" -- run dev --no-daemon

RUN git clone https://github.com/yoonic/nicistore.git frontend
RUN cd frontend && \
    npm i --silent && \
    sed -i "s#api.atlas.baseUrl#http://localhost:8000/v1#" config/client/development.js && …
Run Code Online (Sandbox Code Playgroud)

node.js docker pm2 dockerfile

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

从 row.clicked 事件中获取行元素

我正在使用 Bootstrap Vue 中的 Table,并且我试图在单击一行时显示行详细信息。

row-clicked正如文档所说,我使用了事件,但我没有找到任何带有toggleDetails方法的行详细信息。所以我什至不知道如何打开它以及toggleDetails从哪里来。

有没有办法用row.clicked事件打开这个详细信息行?

或者我应该使用另一种方法来做到这一点?

你有什么线索吗?

编辑

有一些代码可以更详细地说明我的问题,有我的表和详细信息行。

<b-table
  v-if="items"
  :items="items"
  :fields="fields"
  show-empty
  striped
  hover
  responsive
  empty-text="There is no messages to show"
  class="col-sm-12 col-md-10"
  @row-clicked="test"
>
  <template
    slot="message"
    slot-scope="row"
  >
    {{ row.item.message }}
  </template>
  <template
    slot="row-details"
    slot-scope="row"
  >
    <code>{{ row.item.message }}</code>
  </template>
</b-table>
Run Code Online (Sandbox Code Playgroud)

您可以看到row.clicked我在表上使用的事件,然后是我尝试打开行详细信息的方法。这是一个带有一些 console.log 的简单方法

methods: {
  test(item, index, event) {
    console.log(item, index, event);
  },
},
Run Code Online (Sandbox Code Playgroud)

vue.js vuejs2 bootstrap-vue

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

go get 命令会缓存吗?

我试图查找该go get命令是否缓存,但在https://golang.org/cmd/go/ 中找不到任何信息。

我认为没有缓存,但我不确定。

是否go get缓存,如果是,则位于何处?

go go-get

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

当找不到值时 Gorm 返回空对象而不是默认对象

我在一个小 go 应用程序中使用 GORM 进行了 MySQL 查询。

我已经声明了我的domain结构

type Domain struct {
    gorm.Model
    Name string
    ...
}
Run Code Online (Sandbox Code Playgroud)

然后当我用这种方法用 GORM 向 MySQL 发送查询时。

func DomainInfos(w http.ResponseWriter, r *http.Request) {
    vars := mux.Vars(r)
    w.WriteHeader(http.StatusOK)

    var d Domain

    config.DbConnection.Where("name = ?", vars["domain"]).Find(&d)

    json.NewEncoder(w).Encode(d)
}
Run Code Online (Sandbox Code Playgroud)

当找不到域时,它会从我的结构定义中返回默认对象

{
    {0 0001-01-01 00:00:00 +0000 UTC 0001-01-01 00:00:00 +0000 UTC <nil>} 
    0
    0
    0
}
Run Code Online (Sandbox Code Playgroud)

所以我写了一些条件来手动返回一个空对象

if d.ID == 0 {
    json.NewEncoder(w).Encode(make(map[string]string))
    return
}
Run Code Online (Sandbox Code Playgroud)

当查询不返回任何内容时,GORM 是否可以直接返回一个空对象,以避免这种手动检查?

go go-gorm

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

使用简单模板制作带有多个对象的JSON文件

我有一个REST API POST请求使用的模板JSON文件.该文件包含此对象

{
    "Subject": "template",
    "Body": {
        "ContentType": "HTML",
        "Content": "template"
    },
    "Start": {
        "DateTime": "2014-02-02T18:00:00",
        "TimeZone": "Europe/Paris"
    },
    "End": {
        "DateTime": "2014-02-02T19:00:00",
        "TimeZone": "Europe/Paris"
    }
}
Run Code Online (Sandbox Code Playgroud)

我写了一个小函数来改变这个对象中的一些数据并将其保存到另一个调用的json文件中 jsonOutput.json

有改变数据的功能,这很好用.

function insertDatasJson (res) {
    let fs = require('fs');
    let base = require('../public/json/template.json');

    base.Subject = 'f';
    base.Body.Content = 'e';
    base.Start.DateTime = '2016-11-13T08:30:00';
    base.End.DateTime = '2016-11-13T17:30:00';

    fs.writeFileSync('./public/json/output/jsonOutput.json', JSON.stringify(base, null, 4));
}
Run Code Online (Sandbox Code Playgroud)

现在我尝试做同样的修改,但我有很多数据要修改(多个主题,多个内容和多个开始/结束日期)

我试图有这样的输出文件

[
    {
        "Subject": "1",
        "Body": {
            "ContentType": "HTML",
            "Content": "1"
        },
        "Start": {
            "DateTime": "2014-02-02T18:00:00",
            "TimeZone": "Europe/Paris"
        }, …
Run Code Online (Sandbox Code Playgroud)

javascript json node.js ecmascript-6

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