小编wma*_*ash的帖子

XMLHttpRequest模块未定义/找到

这是我的代码:

var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();
xhr.open("GET", "//URL")
xhr.setRequestHeader("Content-Type: application/json", "Authorization: Basic //AuthKey");
xhr.send();
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Cannot find module 'xmlhttprequest'
Run Code Online (Sandbox Code Playgroud)

当我删除第一行时,我得到:

XMLHttpRequest is not defined
Run Code Online (Sandbox Code Playgroud)

我已经搜遍过各地,人们已经提到Node.js的问题,但我的Node安装是正确的,所以我不确定是什么问题.

javascript xmlhttprequest node.js

59
推荐指数
3
解决办法
12万
查看次数

在HTML中传递布尔Vue prop值

我对Vue相当新,并且开始使用vue-cli的项目.

我正在研究基于父母发送的道具的条件渲染.

Home.vue (父母)

<template>
    <Header have-banner="true" page-title="Home">

    </Header>
</template>

<script>
    import Header from "./Header";

    export default {
        components: {
            Header,
        },
        name: "Home",
        data() {
            return {
                header: "Hello Vue!",
            };
        },
    };
</script>
Run Code Online (Sandbox Code Playgroud)

Header.vue (孩子)

<template>
    <header>
        <div v-if="haveBanner == 'true'">
            ...
        </div>
            ...
    </header>
</template>
Run Code Online (Sandbox Code Playgroud)

我已经看过另一种传统方法来实现这一点,但vue-cli以不同的方式呈现模板.

当在HTML标记中传递prop时,prop会haveBanner作为字符串进行求值,因此,即使我这样做了:

<Header have-banner="false"></Header>
Run Code Online (Sandbox Code Playgroud)

儿童

<div v-if="haveBanner"`>
    ...
</div>
Run Code Online (Sandbox Code Playgroud)

<div>仍然会显示,因此,我必须做一个明确的检查,看它是否评估'true'.由于类型强制的可能问题,我不是这个的粉丝,我发出一个警告,类型检查(===)说:

二进制操作参数类型字符串与类型字符串不兼容

有没有办法让孩子将此prop作为布尔值进行评估,或者让父母将其作为布尔值传递给标记?

vuejs2

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

connected-react-router - 你不应该在 &lt;Router&gt; 之外使用 &lt;Route&gt;

之前也有人问过类似的问题,但这似乎是针对connected-react-router. 我可以使用Routeror BrowserRouterfromreact-router(-dom)并且没有问题,但我想合并 Redux 因此使用这个包。

应用程序.js

import React, { Component } from "react";
import { Provider } from "react-redux";
import { ConnectedRouter } from "connected-react-router";
// import { Router, Route, Switch } from "react-router-dom";
import { Route, Switch } from "react-router";

// Routes
// import routes from "./js/routes";

// Components
import PimberlyLogin from "./js/containers/PimberlyLogin";
import CognitoLogin from "./js/containers/CognitoLogin";
import CognitoChangePassword from "./js/views/CognitoChangePassword";
import ListGroups from "./js/containers/ListGroups";
import VerificationCode from "./js/views/VerificationCode";

// Auth component …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs connected-react-router

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

没有加载/服务样式表 - 反应

我正在尝试使用React路由器进行SSR StaticRouter.

express.js (服务器)

const html = ReactDOMServer.renderToString(
    <StaticRouter location={req.url} context={context}>
        <App />
    </StaticRouter>
);

res.status(200).send(`
    <!DOCTYPE html>
    <html>
        <head>
            <link rel="stylesheet" href="/app.css" type="text/css"/>
        </head>
        <body>
            <div id="app">${html}</div>
        </body>
    </html>
`);
Run Code Online (Sandbox Code Playgroud)

提供静态文件:

app.use(express.static(path.resolve(__dirname, "../dist/client")));
Run Code Online (Sandbox Code Playgroud)

App.js (共享)

import React from "react";
import { Switch, Route } from "react-router";

export default () => {
    return (
        <Switch>
            ...
        </Switch>
    );
};
Run Code Online (Sandbox Code Playgroud)

index.jsx (客户端)

import React from "react";
import { BrowserRouter } from "react-router-dom";
import ReactDOM from "react-dom";
import App from "./App"; …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs webpack

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

删除现有的 docker 容器/镜像 GitLab CI

我有一个包含 3 个步骤的 GitLab CI 管道:

  • build
  • release
  • deploy

在我的deploy脚步中,我;通过 SSH 进入我的 DO 框,登录 GitLab 注册表,下载最新的 docker 镜像并运行它。我还尝试使用以下方法删除现有的容器/图像:

docker rm -f $(docker ps -aq)
docker rmi $(docker images -q)
Run Code Online (Sandbox Code Playgroud)

.gitlab.yml

cache:
  key: "${CI_COMMIT_REF_NAME} node:latest"
  paths:
    - node_modules/

stages:
  - build
  - release
  - deploy

build:
  ...

release:
  ...

deploy:
  stage: deploy
  image: gitlab/dind:latest
  only:
    - master
  environment: production
  when: manual
  before_script:
    - mkdir -p ~/.ssh
    - echo "${DEPLOY_SERVER_PRIVATE_KEY}" | tr -d '\r' > ~/.ssh/id_rsa
    - chmod 600 ~/.ssh/id_rsa …
Run Code Online (Sandbox Code Playgroud)

docker gitlab-ci

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

TypeError:无法读取undefined - source-node.js的属性'substr'

解决此问题后出现此错误

这是我的ionic info:

Cordova CLI: 6.5.0
Ionic Framework Version: 2.0.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.0.0
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v7.4.0
Xcode version: Not installed
Run Code Online (Sandbox Code Playgroud)

(我也在使用npm v4.1.1)

尝试构建时@ionic/app-scripts,我收到以下错误:

E:\Documents\Year_3\Mobile_Application_Development\mammoth-v2\node_modules\webpack-sources\node_modules\source-map\lib\source-node.js:95
      var code = nextLine.substr(0, mapping.generatedColumn -
                         ^

TypeError: Cannot read property 'substr' of undefined
    at Function.<anonymous> (E:\Documents\Year_3\Mobile_Application_Development\mammoth-v2\node_modules\webpack-sources\node_modules\source-map\lib\source-node.js:95:30)
    at Array.forEach (native)
    at BasicSourceMapConsumer.SourceMapConsumer_eachMapping [as eachMapping] (E:\Documents\Year_3\Mobile_Application_Development\mammoth-v2\node_modules\webpack-sources\node_modules\source-map\lib\source-map-consumer.js:155:14)
    at Function.SourceNode_fromStringWithSourceMap …
Run Code Online (Sandbox Code Playgroud)

node.js ionic-framework ionic2

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

在C ++项目中包含Pistache

很抱歉,这是一个非常菜鸟的问题,但是我对C ++还是很陌生。

我正在使用pistache构建RESTful服务。我已经检查了一下,并在项目本身中运行了示例,但现在尝试导入/包括要在我自己的项目中使用的框架。

我的文件夹结构如下:

rest_api
   |
   +--- build
   +--- include
          |
          +--- pistache
   +--- src
          |
          +--- main.cpp
   +--- tests
Run Code Online (Sandbox Code Playgroud)

pistache目录包含所有已编译的pistache源代码。 (我不确定这里是否需要整个项目或仅需要头文件)

我试图按照示例快速入门指南进行操作,但是没有看。

我的CMakeLists.txt是准系统,目前看起来像这样:

cmake_minimum_required(VERSION 3.5.1)
project(rest_api)

set(CMAKE_CXX_STANDARD 14)
set(PISTACHE_DIR "./include/pistache")

include_directories (${PISTACHE_DIR}/include)

add_executable(${PROJECT_NAME} src/main.cpp)
Run Code Online (Sandbox Code Playgroud)

我的main.cpp是他们的示例hello_server.cc的直接副本。

当我尝试和make我的项目时,返回的是异常(快照)

main.cpp:(.text+0x143): undefined reference to `Pistache::Port::Port(unsigned short)'
main.cpp:(.text+0x148): undefined reference to `Pistache::Ipv4::any()'
main.cpp:(.text+0x162): undefined reference to `Pistache::Address::Address(Pistache::Ipv4, Pistache::Port)'
main.cpp:(.text+0x171): undefined reference to …
Run Code Online (Sandbox Code Playgroud)

c++ cmake

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

Bash 脚本 GitLab 共享运行器

我正在尝试使用共享运行程序来运行处理部署所需的环境变量的脚本。我的 YAML 配置中失败的部分是:

release:
  stage: release
  image: docker:latest
  only:
    - master
  services:
    - docker:dind
  variables:
    DOCKER_DRIVER: overlay
  before_script:
    - docker version
    - docker info
    - docker login -u ${CI_REGISTRY_USER} -p ${CI_BUILD_TOKEN} ${CI_REGISTRY}
  script:
    - dckstart=$(cat dockerfile-start)
    - export > custom_vars
    - chmod +x scripts/format-variables.sh
    - bash scripts/format-variables.sh
    - dckenv=$(cat custom_vars)
    - dckfin=$(cat dockerfile-finish)
    - echo -e "$dckstart\n$dckenv\n$dckfin" >> Dockerfile
    - rm dockerfile-start dockerfile-finish custom_vars
    - docker build -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:latest --pull .
    - docker push ${CI_REGISTRY}/${CI_PROJECT_PATH}:latest
  after_script:
    - docker logout ${CI_REGISTRY} …
Run Code Online (Sandbox Code Playgroud)

bash gitlab gitlab-ci gitlab-ci-runner

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

通过对象设置HTML画布上下文

到现在为止,我已经设置HTML画布上下文教程事情是这样的显示,如:

var canvas = document.getElementById("canvas"),
    ctx = canvas.getContext("2d");

ctx.font = "15px calibri";
...
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以通过将具有正确属性的对象传递给其中一种方法来设置画布的上下文?例如:

var canvas = document.getElementById("canvas");


var context = {
    font: "15px calibri",
    ...
);

canvas.setContext(context);
Run Code Online (Sandbox Code Playgroud)

原因是我正在创建一个有角度的自定义画布。例如,我controller将获取<canvas>元素。中的方法service将回调要为画布设置的上下文对象。

自定义画布将转换为PNG,并设置为iconGoogle Maps上的标记。标记已添加到的地图中service

addMarkerToMap: function(position, map, canvas) {
    new google.maps.Marker({
        position: position,
        map: map,
        icon: canvas.toDataURL("image/png")
    });
}
Run Code Online (Sandbox Code Playgroud)

因此,我希望将canvas元素传递到此功能中(已经设置了上下文),并将它的PNG等效项设置为Marker icon

编辑:

现在,我意识到除了设置属性(即fillStyle)外,我还调用了contexts方法(即beginPath())。
我认为这将使完成我正在尝试的工作变得更加困难

javascript html5 canvas

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

调试NodeJS子进程的VSCode babel-node

我用babel-node我的runtimeExecutable,我launch.json在如图所示这个答案。这样做的原因是因为我正在使用ES6导入,并且由于转译和源映射,VSCode中的断点移动了。

launch.json

{
    "version": "0.2.0",
    "configurations": [{
        "type": "node",
        "request": "launch",
        "name": "Debug",
        "autoAttachChildProcesses": true,
        "program": "${workspaceFolder}/index.js",
        "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/babel-node",
        "runtimeArgs": [
            "--nolazy"
        ],
        "env": {
            "BABEL_ENV": "debug"
        }
    }]
}
Run Code Online (Sandbox Code Playgroud)

app.js (我在其中分叉子进程)

(async () => {
    const process1 = fork(path.join(__dirname, "children", "process", "one.js"));
    const process2 = fork(path.join(__dirname, "children", "process", "two.js"));

    process1.send("start");
    process2.send("start");
})();
Run Code Online (Sandbox Code Playgroud)

one.js / two.js

process.on("message", async (message) => {
    console.log("message - " + message);
    await init();
});
Run Code Online (Sandbox Code Playgroud)

文件的内容不太重要,但我认为我还是会把它们放在那里。我可以app.js很好地调试IIFE …

javascript child-process node.js visual-studio-code

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