使用 ES6 导入和导出我觉得我应该能够将导入声明为
import mongoose, { Schema, Document } from 'mongoose';但我收到错误Module '"mongoose"' has no default export.
以下确实有效,但显然不是进行此导入的正确方法。导出默认 ID 也想删除。
import * as mongoose from 'mongoose';
import { Schema, Document } from 'mongoose';
export interface IUser extends Document {
email: string;
password: string;
}
const UserSchema: Schema = new Schema({
email: { type: String, required: true, unique: true },
password: { type: String, required: true }
});
export default mongoose.model<IUser>('User', UserSchema);
Run Code Online (Sandbox Code Playgroud)
然后我用它
import UserModel, { IUser } from '../models/example' …Run Code Online (Sandbox Code Playgroud) 下面的代码似乎工作得很好,直到我去1ocalhost:8081 ...
然后我收到消息..
<pre>{"tinylr":"Welcome","version":"0.0.5"}</pre>
Run Code Online (Sandbox Code Playgroud)
我的目录结构是......
____gulp
| |____build
| | |____images
| | |____index.html
| | |____scripts
| | |____styles
| |____gulpfile.js
| |____node_modules
| |____src
| | |____images
| | |____index.html
| | |____scripts
| | |____styles
Run Code Online (Sandbox Code Playgroud)
为什么我的html页面没有加载?如果我尝试浏览1ocalhost:8081/build/index.html页面不会加载,我得到了消息
{"error":"not_found","reason":"no such route"}
我也尝试过chrome插件,但是当我点击插件时,我得到了下面的msg
Could not connect to LiveReload server. Please make sure that LiveReload 2.3 (or later) or another compatible server is running.
我检查了Chrome中插件的插件设置,并检查文件网址的选项
继承我评论的代码......
//sudo npm install gulp -g
// install chrome extension from https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei
//Go into the settings …Run Code Online (Sandbox Code Playgroud) 我在服务器外观的docker容器中有一个小型套接字服务器
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server, {origins: 'localhost:*'});
io.on('connection', function (socket) {
console.log('Connected');
});
const PORT = 8081;
const HOST = '0.0.0.0';
server.listen(PORT, HOST);
Run Code Online (Sandbox Code Playgroud)
和docker文件是
FROM keymetrics/pm2-docker-alpine:latest
WORKDIR /root
RUN apk update && \
apk upgrade && \
apk add git
ENV HOME /root
COPY socket.js ./
COPY package.json ./
RUN npm install
COPY pm2.json ./
EXPOSE 8081
CMD [ "pm2-docker", "start", "pm2.json" ]
Run Code Online (Sandbox Code Playgroud)
pm2.json看起来像
{
"apps": [{
"name": "socket-server",
"script": "socket.js",
"exec_mode" …Run Code Online (Sandbox Code Playgroud) 在本地,我可以很好地浏览到 /buttons 我什至可以刷新它,它也很好,但是当我将构建目录上传到 github 页面时,我无法访问 /buttons,而是获得了 GitHub 404 页面,而不是我自己的 'notfound ' 页。
如果我创建从主页到 /buttons 的链接,则按钮将加载,但直接浏览它不会加载。
import React, { useState } from 'react';
import { BrowserRouter, Switch, Route } from 'react-router-dom';
import { Context } from "./components/context";
import { Layout } from "./components/layout";
import { Home } from './routes/home';
import { Buttons } from './routes/buttons';
import { NotFound } from './routes/notfound';
const Router: React.FC = () => {
const [global, setGlobal] = useState({
language: localStorage.getItem("language") || 'en',
apiUrl: 'https://api.domain.com/api',
loggedIn: localStorage.getItem("jwt") …Run Code Online (Sandbox Code Playgroud) mystring.rs
pub fn return_string() {
return "Some String"
}
Run Code Online (Sandbox Code Playgroud)
然后在 main 中,我想打印这个字符串
mod mystring;
const test = config::return_string();
println!("{}", test);
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
println!("{}", test);
| ^^^^ `()` cannot be formatted with the default formatted
Run Code Online (Sandbox Code Playgroud) 我正在考虑制作自己的JavaScript客户端库,我喜欢Firebase格式化请求的方式.我正在努力了解最新情况.从这里查看网络指南,我发现以下代码:
var ref = new Firebase("https://docs-examples.firebaseio.com/web/saving-data/fireblog");
var usersRef = ref.child("users");
usersRef.set({
alanisawesome: {
date_of_birth: "June 23, 1912",
full_name: "Alan Turing"
},
gracehop: {
date_of_birth: "December 9, 1906",
full_name: "Grace Hopper"
}
});
Run Code Online (Sandbox Code Playgroud)
我可以看到它ref等于一个被调用的函数Firebase,并且usersRef等于ref.child.
我想象的是这样的:
Firebase = function(url) {
this.child = function(path) {
console.log(url);
console.log(path);
};
};
Run Code Online (Sandbox Code Playgroud)
在这里,我可以看到usersRef.set被调用,但我无法弄清楚这将如何或在何处发生?是set函数还是对象?我注意到火力有set(),update(),push()和transaction(),让我觉得这些都是功能.
"TypeError: Cannot read property 'set' of undefined
Run Code Online (Sandbox Code Playgroud)
也许我完全走错了路,我只是不熟悉这种模式.
我有一个输入字段正在调用_getFile函数
<input type="file" class="file" on-change="_getFile"/>
Run Code Online (Sandbox Code Playgroud)
获取文件
_getFile(event) {
this.loading = true;
const file = event.target.files[0];
let reader = new window.FileReader()
reader.onloadend = () => this._saveToIpfs(reader)
reader.readAsArrayBuffer(file)
}
}
Run Code Online (Sandbox Code Playgroud)
一旦有了数组缓冲区,我们就调用...
_saveToIpfs(data){
}
Run Code Online (Sandbox Code Playgroud)
这是我需要的帮助,我想将选定的文件发送到' https://ipfs.infura.io:5001/api/v0/add '或' https://ipfs.io/api/v0/加 '怎么办?是xhr帖子吗?我希望得到IPFS哈希值
下面的简单形式似乎是上传文件,然后由于错误ERR_CONTENT_LENGTH_MISMATCH而断开连接
<form action="https://ipfs.io/api/v0/add/" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
我也尝试过经典的XHR
_getFile(event) {
const file = event.target.files[0];
var data = new FormData();
data.append('path', event.target.files[0]);
var request = new XMLHttpRequest();
request.onreadystatechange = function(){
if(request.readyState == 4){ …Run Code Online (Sandbox Code Playgroud) <script src="https://accounts.google.com/gsi/client"></script>\n...\ndeclare var google: any;\n...\n\n useEffect(() => {\n const handleCredentialResponse = (response: any) => {\n console.log(response);\n };\n const client_id = process.env.REACT_APP_GOOGLE_CLIENT_ID;\n const callback = handleCredentialResponse;\n const auto_select = true;\n google.accounts.id.initialize({ client_id, callback, auto_select });\n google.accounts.id.prompt((notification: any) => {\n console.log(notification);\n });\n }, []);\nRun Code Online (Sandbox Code Playgroud)\n\n为什么handleCredentialResponse根本不被调用?系统会提示用户登录,他们点击继续,然后该函数永远不会被调用!咕噜!以上摘自此处和此处的文档
注销notification
nl\xc2\xa0{g: "display", h: true}\nnl\xc2\xa0{g: "skipped", l: "issuing_failed"}\nRun Code Online (Sandbox Code Playgroud)\n 我的基本服务器导入并注册路由join并添加 TypeProvider 以进行 fastify。
import Fastify from "fastify";
import { join } from "./routes/onboarding/join";
import { JsonSchemaToTsProvider } from "@fastify/type-provider-json-schema-to-ts";
const fastify = Fastify({
logger: true,
}).withTypeProvider<JsonSchemaToTsProvider>();
fastify.register(join);
const start = async () => {
try {
await fastify.listen({ port: 3000 });
} catch (err) {
fastify.log.error(err);
process.exit(1);
}
};
start();
Run Code Online (Sandbox Code Playgroud)
加入路线...
import {
FastifyInstance,
FastifyReply,
FastifyRequest,
} from "fastify";
export async function join(fastify: FastifyInstance, _options: Object) {
fastify.post(
"/animals",
{
schema: {
body: {
type: "object",
required: …Run Code Online (Sandbox Code Playgroud) 我已经简化了下面的问题,我使用useEffect来确保 dom 在选择项目之前已经呈现,这很好用并且在尝试获取这些元素之前不需要超时,但是如果我想在另一个组件我如何访问它们?
该printAll()函数无法找到变量。
import React, { useEffect } from 'react';
const Warning: React.FC = () => {
useEffect(() => {
const confirm = document.getElementById("confirm");
const invalid = document.getElementById("invalid");
const confirmed = document.getElementById("confirmed");
const warningBar = document.getElementById("warning-bar");
}, []);
function printAll () {
console.log(confirm);
console.log(invalid);
console.log(confirmed);
console.log(warningBar);
}
printAll()
return (
<div>
<section className='warning-bar' id='warning-bar'>
<div className='confirm' id='confirm'>Confirm</div>
<div className='invalid' id='invalid'>Invalid</div>
<div className='confirmed' id='confirmed'>Confirmed</div>
</section>
</div>
);
};```
Run Code Online (Sandbox Code Playgroud) reactjs ×3
node.js ×2
typescript ×2
docker ×1
fastify ×1
firebase ×1
google-oauth ×1
gulp ×1
ipfs ×1
javascript ×1
livereload ×1
mongoose ×1
rust ×1
socket.io ×1