在node中,您可以定义一个package.json。然后定义一个script块如下:
"scripts": {
"start": "concurrently -k -r -s first \"yarn test:watch\" \"yarn open:src\" \"yarn lint:watch\"",
},
Run Code Online (Sandbox Code Playgroud)
所以在根目录中,我可以yarn start运行concurrently -k -r -s first \"yarn test:watch\" \"yarn open:src\" \"yarn lint:watch\"
Python 3 中的等效项是什么?如果我想调用一个脚本python test来运行python -m unittest discover -v
我有一个节点,使用 expressGraphql 的快速服务器。我试图在 a.graphql或.gql文件中声明 graphql 的类型定义,因为随着类型变大,读取string.
这是我所拥有的:
import testQuery from './test.graphql';
import routes from "./routes";
import { buildSchema } from "graphql";
const schema = buildSchema(testQuery);
// Root resolver
const root = {
message: () => "Hello World!",
};
app.use(
"/api/graphql",
expressGraphQL({
schema,
graphiql: true,
})
);
Run Code Online (Sandbox Code Playgroud)
我的graphql文件。//test.graphql
type Book {
message: String
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,因为 Typescript
找不到模块“./test.graphql”。
我见过有人这样做:
const { makeExecutableSchema } = require('graphql-tools');
const schemaFile = path.join(__dirname, 'schema.graphql');
const typeDefs = fs.readFileSync(schemaFile, 'utf8');
const …Run Code Online (Sandbox Code Playgroud) 在反应登录组件中,我想在登录成功后重新获取和更新导航栏组件。
const loginUser = () => {
props.mutate({
variables: {
input: { email, password },
},
refetchQueries: [{ query: GET_ME }],
});
};
Run Code Online (Sandbox Code Playgroud)
我可以在网络选项卡中看到登录和重新获取,并且都以正确的状态返回 200。但是导航栏仍然显示旧数据。
这是我的导航栏组件。
export const Header = props => {
return <div>Header {JSON.stringify(props.data)}</div>;
};
export default graphql(GET_ME)(Header);
Run Code Online (Sandbox Code Playgroud)
和 apolloClient:
export const client = new ApolloClient({
link: createHttpLink({
credentials: 'include',
uri: 'http://localhost:8080/api/graphql',
}),
cache: new InMemoryCache(),
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试为多对多关系创建一个联接表。
我收到以下错误:
"name": "SequelizeDatabaseError",
"parent": {
"name": "error",
"length": 110,
"severity": "ERROR",
"code": "42P01",
"position": "13",
"file": "parse_relation.c",
"line": "1160",
"routine": "parserOpenTable",
"sql": "INSERT INTO \"user_routes\" (\"id\",\"userId\",\"routeId\",\"createdAt\",\"updatedAt\") VALUES (DEFAULT,'1','1','2017-11-15 03:57:21.791 +00:00','2017-11-15 03:57:21.791 +00:00') RETURNING *;"
},
Run Code Online (Sandbox Code Playgroud)
关系在User和之间Route:
module.exports = (sequelize, DataTypes) => {
const Route = sequelize.define("Route", {
open: {
type: DataTypes.BOOLEAN,
allowNull: true
}
});
Route.associate = models => {
Route.belongsToMany(models.User, {
through: "userRoutes",
as: "users"
});
};
return Route;
};
module.exports = (sequelize, DataTypes) …Run Code Online (Sandbox Code Playgroud) 如果我有以 12 作为输入的输入字段,我想搜索行 id = 123。现在我有
where: {
id: {
[Op.iLike]: `%${req.body.gaugeId}%`,
},
},
Run Code Online (Sandbox Code Playgroud)
如果我搜索文本字段,这有效,但它不适用于搜索整数字段。我知道这与铸造有关,但我可以找到一种方法来实现这一点。
我有两个dotenv文件,一个用于开发,另一个用于测试。
const dotenv = require('dotenv');
if (process.env && process.env.NODE_ENV) {
dotenv.config({path: '.env.' + process.env.NODE_ENV});
} else {
dotenv.config({path: '.env.development'});
}
const http = require('http');
const app = require('../src/app');
const port = parseInt(process.env.PORT, 10) || 8000;
app.set('port', port);
const server = http.createServer(app);
server.listen(port);
Run Code Online (Sandbox Code Playgroud)
这是我的问题:
我的服务器何时加载dotenv文件?如果我在testenv中运行,为什么我对那些process.env变量未定义?在我看来,此文件仅运行一次,当我更改NODE_ENV时,它不会更改要加载的文件。
简而言之:
我的开发dotenv正在工作,但是将其更改为testdotenv 时遇到了麻烦
我有一个搜索输入,可以即时进行API调用。我想实施反跳,以减少服务器调用的次数。
_debouncedSearch() {
debounce(this.props.fetchRoutes(this.state.searchText), 1000);
}
_updateResults(searchText) {
this.setState({searchText});
this._debouncedSearch();
}
Run Code Online (Sandbox Code Playgroud)
我期望debouncedSearch每隔1秒钟。但是它仍在运行中。并抛出错误:
未捕获到的TypeError:在反跳时需要一个函数(lodash.js?3387:10334)
未捕获的错误:引发了跨域错误。React不能访问开发中的实际错误对象。
我觉得这个问题一定要问很多,但是所有的解决方案似乎都不适合我。有人可以向我解释这里到底是什么问题吗?我认为去抖动只是一个setTimeOut。
谢谢
pattern: '^131\.[0-9]{6}$',
更漂亮的改变它pattern: '^131.[0-9]{6}$',.有没有办法忽略行,或忽略文件?
我一直在使用sequelize,但是从不费心去真正了解它的foreignKey工作原理。他们在文档中指出:
目标键是目标模型上源模型上的外键列所指向的列。
那么在以下情况下,目标是什么?
Route.belongsTo(models.Subarea, {
foreignKey: 'subareaId',
as: 'subarea',
});
Route.belongsToMany(models.Book, {
through: models.BookRoute,
foreignKey: 'routeId',
as: 'books',
});
Run Code Online (Sandbox Code Playgroud)
我的困惑在于为什么在第一种情况下我将ForeignKey放在SubareaId上,而在第二种情况下我将其作为routeId。如果foreignKey应该是sourceId,那么在两种情况下都不应该是routeId吗?
在以下 javascript 代码段中,为什么在运行此代码段时元素是 intedious而concise不是等效的?我从第二个元素获得/**ref:2**/输出concise。
const tedious = [
{},
{},
{},
{},
{},
{},
{},
{},
{},
];
const concise = new Array(9).fill({});
console.log(tedious);
console.log(concise);Run Code Online (Sandbox Code Playgroud)
sequelize.js ×3
javascript ×2
node.js ×2
reactjs ×2
apollo ×1
arrays ×1
debounce ×1
express ×1
graphql ×1
lodash ×1
npm ×1
postgresql ×1
prettier ×1
python ×1
regex ×1
typescript ×1