小编hel*_*osk的帖子

Angular 编译警告:“在‘@angular/core’中找不到导出‘??defineInjectable’

我正在尝试为 Angular 应用程序提供服务,但我从“ngx-mqtt”中收到此依赖项错误:“^6.6.0”。我的本地CLI是6.2.9版本。我正在尝试更改此依赖项的版本,但仍然收到此错误。我只是不明白为什么会发生这种情况。

\n\n
\n

./node_modules/ngx-mqtt/src/mqtt.service.js 390:34-55 \n 中的警告未找到“导出 \'\xc9\xb5\xc9\xb5defineInjectable\'(导入为 \'i0\')在\'@Angular/core\'中

\n\n

./node_modules/ngx-mqtt/src/mqtt.service.js 390:126-137\n 中的警告“未找到导出 \'\xc9\xb5\xc9\xb5inject\'(导入为 \'i0\')在\'@Angular/core\'中

\n\n

./node_modules/ngx-mqtt/src/mqtt.service.js 390:161-172\n 中的警告“未找到导出 \'\xc9\xb5\xc9\xb5inject\'(导入为 \'i0\')在\'@Angular/core\'中

\n
\n\n

这些是我对 package.json 的主要依赖项

\n\n
 "dependencies": {\n        "@angular/animations": "^6.1.7",\n        "@angular/cdk": "^6.4.7",\n        "@angular/cli": "~6.2.1",\n        "@angular/common": "^6.1.0",\n        "@angular/compiler": "^6.1.0",\n        "@angular/compiler-cli": "^6.1.0",\n        "@angular/core": "^6.1.0",\n        "@angular/flex-layout": "^6.0.0-beta.18",\n        "@angular/forms": "^6.1.0",\n        "@angular/http": "^6.1.0",\n        "@angular/material": "^6.4.7",\n        "@angular/material-moment-adapter": "^6.4.7",\n        "@angular/platform-browser": "^6.1.0",\n        "@angular/platform-browser-dynamic": "^6.1.0",\n        "@angular/router": "^6.1.0",\n        "@fortawesome/angular-fontawesome": "^0.3.0",\n        "@fortawesome/fontawesome-svg-core": "^1.2.21",\n        "@fortawesome/free-regular-svg-icons": "^5.10.1",\n        "@fortawesome/free-solid-svg-icons": "^5.10.1",\n...\n
Run Code Online (Sandbox Code Playgroud)\n\n
"devDependencies": {\n        "@angular-devkit/build-angular": "~0.8.0",\n        "@angular/language-service": "^6.1.0",\n        "@types/core-js": "^2.5.0",\n        "@types/node": "~8.9.4",\n …
Run Code Online (Sandbox Code Playgroud)

package npm mqtt angular

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

React - 复选框第一次返回未定义的值

我有一个功能组件,我试图从复选框输入中获取值,但即使我设置了初始状态,从控制台获得的第一个值也是未定义的。在我第二次单击后,它才开始从状态检索值。

const Preferences = () => {

    const [pref, setPref] = useState({
        webcam: true
    });


    const onChange = e => {

        setPref({ ...pref, [e.target.name]: e.target.checked });

        console.log(webcam); //always undefined on first time
    };

...
Run Code Online (Sandbox Code Playgroud)
<input
    type="checkbox"
    name="webcam"
    value={webcam}
    onChange={onChange}
    defaultChecked={webcam}
/>
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

Angular,在鼠标事件上用画布绘制多个矩形

我正在尝试创建一个带角度的绘图工具。我创建了一个可以在画布元素上绘制矩形的工具,该工具工作正常,但我一次只能绘制一个矩形,我只是不知道如何“清除”前一个矩形并保持在我的画布上多次绘制。我无法清除许多画布,因为我要绘制更多图画,而不仅仅是矩形。

rectangleDrawing() {

    // first coordinates when clicked
    let startX = 0;
    let startY = 0;

    const rect = this.canvasEl.getBoundingClientRect();

    fromEvent(this.canvasEl, "mousedown")
        .pipe(
            switchMap((e:MouseEvent) => {

                startX = e.clientX - rect.left;
                startY = e.clientY - rect.top;

                return fromEvent(this.canvasEl, 'mousemove').pipe(

                    takeUntil(fromEvent(this.canvasEl, 'mouseup')),
                    takeUntil(fromEvent(this.canvasEl, 'mouseleave'))
                )

            })
        ).subscribe((event:MouseEvent) => {

            let x = event.clientX - rect.left;
            let y = event.clientY - rect.top;

            let width = x - startX;
            let height = y - startY;


            this.setCanvasProperties(10, 'square', 'rgba(255,158,43,0.6)');

            this.cx.beginPath();

            // if I comment …
Run Code Online (Sandbox Code Playgroud)

rectangles mouseevent html5-canvas angular

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

React - 在单个文件中导入多个 svgs

我有多个 svg 文件,我想将所有这些文件导入和导出到一个文件中:

icons.js

import IconVideoOn from '../../assets/img/icons/video-on.svg';
import IconVideoOff from '../../assets/img/icons/video-off.svg';
import IconMicOn from '../../assets/img/icons/mic-on.svg';
import IconMicOff from '../../assets/img/icons/mic-off.svg';
.
.
.

export default {
    IconVideoOn,
    IconVideoOff,
    IconMicOn,
    IconMicOff
};
Run Code Online (Sandbox Code Playgroud)

然后我像这样导入它们

MyComponent.jsx

import { IconVideoOn } from '../../components/Icons/icons';

Run Code Online (Sandbox Code Playgroud)

但我的组件上出现此错误,无法弄清楚原因:

./src/components/MyComponent/MyComponent.jsx 尝试导入错误:“IconVideoOn”未从“../../components/Icons/icons”导出。

import svg reactjs

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

docker-compose:超过最大深度

我正在使用 docker-compose,但是当我再次尝试构建它时,显示此错误,我多次构建了这个 docker-compose:

ERROR: Service 'api' failed to build: max depth exceeded
Run Code Online (Sandbox Code Playgroud)

我尝试执行 docker system prune 来清理我的容器,但没有用。

docker-compose.yml

version: "3"
services:
    client:
        container_name: my_client
        image: mhart/alpine-node:12
        build: ./client      
        restart: always
        ports:
            - "3000:3000"
        working_dir: /client
        volumes:
            - ./client:/client
        entrypoint: ["npm", "start"]
        links:
            - api
        networks: 
            - my_network
    api:
        container_name: my_api
        build: ./api
        restart: always
        ports:
            - "9000:9000"
        environment:
            DB_HOSTNAME: mysql    
        working_dir: /api
        volumes:
            - ./api:/api
        depends_on: 
            - mysql
        networks:
            - my_network
    mysql:
        container_name: my_mysql
        build: ./db
        restart: always
        volumes:
            - …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

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

PHP在MySQL中执行查询的顺序

如果我在PHP中有一堆查询,假设我使用的是PDO,这些查询将按顺序执行,但是PHP或MySQL将在开始一个新查询之前等待一个查询完成?

$sql1 = $con->prepare("some query");
$sql2 = $con->prepare("some query");   
$sql3 = $con->prepare("some query");

$sql1->execute();
$sql2->execute();
$sql3->execute();
Run Code Online (Sandbox Code Playgroud)

如果我在PDO中使用具有相同查询的事务性块:

$con->beginTransaction();
Run Code Online (Sandbox Code Playgroud)

执行会一样吗?

php mysql pdo

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