我刚开始学习ReactJS,所以我有点生气.我正在遵循的部分课程涉及设置webpack开发服务器,到目前为止一切都很好.但是,我无法在浏览器中预览我正在做的事情(一切都已成功编译),因为我在8080上运行了另一个应用程序(APACHE).因此,想要更改webpack的默认端口8080到一个不同的端口,比如9000.我花了一段时间寻找解决方案,但似乎没有一个明确的方法来解决这个问题.
如果有帮助,这是我的基本webpack.config代码:
var HtmlWebpackPlugin = require("html-webpack-plugin")
var HTMLWebpackPluginConfig = new HtmlWebpackPlugin({
template: __dirname + "/app/index.html",
filename: "index.html",
inject: "body"
});
module.exports = {
entry: [
"./app/index.js"
],
output: {
path: __dirname + "/dist",
filename: "index_bundle.js"
},
module: {
loaders: [
{test: /\.js$/, exclude: /node_modules/, loader: "babel-loader"}
]
},
plugins: [HTMLWebpackPluginConfig]
};
Run Code Online (Sandbox Code Playgroud) 我刚刚开始使用 Nest.js,到目前为止一切都很顺利。但是我遇到了一个问题,用户模式中的猫鼬预保存挂钩没有被触发。这应该很简单,但无论出于何种原因,密码都以纯格式保存,而不是散列。是什么赋予了?
还有一个小问题 - 在使用 @Prop 装饰器时如何定义引用另一个架构的字段?profile 字段应该是 mongoose.schema.types.objectid ,在没有装饰器的情况下,它只是 profile: { type: mongoose.Schema.Types.ObjectId, ref: 'Profile' } 。
以下是相关片段。
用户模式
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { Document } from 'mongoose';
@Schema({
timestamps: true,
})
export class User extends Document {
@Prop({ required: true })
fullname: string;
@Prop({ required: true, unique: true })
username: string;
@Prop({ required: true, unique: true, lowercase: true })
email: string;
@Prop({ required: true })
password: string;
@Prop({ required: true, ref: 'Profile' }) …Run Code Online (Sandbox Code Playgroud) 我在服务器端尝试(Apollo)GraphQL并且一直有一个可能很愚蠢的问题.我正在尝试注册用户,但不断收到下面链接图片中显示的错误.问题是什么?忽略非常简单的auth流程,因为我只是测试GraphQl
以下是相关的代码段:
架构
export default `
type User {
id: ID!
name: String!
email: String!
}
type Query {
allUsers: [User]
currentUser: User
}
type Mutation {
createAccount(name: String!, email: String!, password: String!): User
loginUser(email: String!, password: String!): User
updatePassword(email: String!, password: String!, newPassword: String!): User
deleteAccount(email: String!, password: String!): User
}
`
Run Code Online (Sandbox Code Playgroud)
解析器
createAccount: async (
parent,
{ name, email, password },
{ User },
info
) => {
try {
// Check for invalid (undefined) credentials
if (!name …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过Vue.js 2中的相对路径加载图像,但似乎有些问题。我只是想了解Vue,不胜感激。所述图像位于/ src / assets / imgs目录中。
以下是有问题的组件的相关代码段。
<template>
<section class="container sources">
<h2>{{ heading }}</h2>
<div class="columns">
<div class="column" v-for="source in sources">
<figure :title="source">
<img :src="imgPath + source + '.png'" :alt="source + ' logo'">
<figcaption>{{ source }}</figcaption>
</figure>
</div>
</div>
</section>
</template>
<script>
export default {
name: 'sources',
data () {
return {
heading: 'News Sources',
imgPath: 'src/assets/imgs/',
sources: [
'al-jazeera-english', 'associated-press', 'bbc-news', 'bbc-sport', 'business-insider', 'cnn',
'daily-mail', 'entertainment-weekly', 'espn', 'financial-times', 'fox-sports', 'hackernews',
'ign','independent', 'mtv-news', 'national-geographic', 'new-scientist', 'reuters', 'techcrunch', 'the-economist', 'the-guardian-uk', …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 MERN 应用程序部署到 Heroku,但遇到了一个相当奇怪的问题。我收到文件'Cannot find file './layout/NavBar' in './src/components'中出现的错误消息./src/components/App.js,导致构建过程失败。该文件显然存在,否则我会在开发过程中注意到。事实上,手动执行(React)构建在我的本地机器上工作得很好,因此我的问题很奇怪。作为参考,我正在使用一个 create-react-app 引导前端和一个 Express 后端,所以它应该是一个非常简单的过程。此外,我为另一个应用程序使用了几乎相似的设置,并且运行良好。
不确定部署失败的屏幕截图是否相关,但下面是链接图像。
此外,这里是与 App.js 和 NavBar 文件对应的代码片段。同样,不确定它们将如何相关和/或有用。
应用文件
// App.js
import React, { Fragment } from 'react';
import NavBar from './layout/NavBar';
import Main from './layout/Main';
function App() {
const token = localStorage.getItem('token');
return (
<Fragment>
{token && <NavBar />}
<Main />
</Fragment>
);
}
export default App;
Run Code Online (Sandbox Code Playgroud)
导航栏文件
// NavBar.js
import React, { Component } from 'react';
import { Link, NavLink } from 'react-router-dom'; …Run Code Online (Sandbox Code Playgroud) 我有一个简单的无状态父组件,显示有状态子组件列表。每个单独的子组件代表一个列表项,其活动状态可以切换(真/假)。活动列表项变为绿色,并显示关闭(时间)。
现在,我的问题是,当选择一个项目(活动)并单击另一项目时,两者都会变为活动状态,正如预期的那样。然而,我想要的是取消选择/停用前一个项目,这样一次只能有一个项目处于活动状态。我尝试将状态提升到父级并将其作为道具传递下来,但这显然会导致当我单击一个项目时每个项目都处于活动状态。我该如何实现这一目标?
下面是代码片段。
import React, { Component } from "react";
class ListItem extends Component {
state = {
isActive: false,
};
onToggleSelect = () =>
this.setState({
isActive: !this.state.isActive,
});
render() {
return (
<li
style={{ color: this.state.isActive && "green", cursor: "pointer" }}
onClick={this.onToggleSelect}
>
Item number {this.props.item}
{this.state.isActive && <span>×</span>}
</li>
);
}
}
function List({ itemList }) {
return (
<div>
<ul>
{
itemList.map(i => <ListItem key={i} item={i} />)
}
</ul>
</div>
);
}
List.defaultProps = {
itemList: [...Array(10).keys()].map(x …Run Code Online (Sandbox Code Playgroud)