小编leo*_*ger的帖子

在命令行中运行带别名的 python 命令,如 npm

在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

python node.js npm

21
推荐指数
3
解决办法
9988
查看次数

如何在没有 webpack 的打字稿节点项目中使用 .graphql

我有一个节点,使用 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)

typescript graphql

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

重新获取后,apollo graphql UI 未更新

在反应登录组件中,我想在登录成功后重新获取和更新导航栏组件。

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)

apollo reactjs

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

PostgreSQL-带连接表的SequelizeDatabaseError(代码:42P01)

我正在尝试为多对多关系创建一个联接表。

我收到以下错误:

"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)

postgresql sequelize.js

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

如何在sequelize中使用ilike搜索整数

如果我有以 12 作为输入的输入字段,我想搜索行 id = 123。现在我有

where: {
        id: {
          [Op.iLike]: `%${req.body.gaugeId}%`,
        },
      },
Run Code Online (Sandbox Code Playgroud)

如果我搜索文本字段,这有效,但它不适用于搜索整数字段。我知道这与铸造有关,但我可以找到一种方法来实现这一点。

sequelize.js

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

节点dotenv文件未为测试环境加载

我有两个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 时遇到了麻烦

environment-variables node.js express

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

在反应中使用反跳搜索输入

我有一个搜索输入,可以即时进行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。

谢谢

javascript lodash reactjs debounce

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

更漂亮的自动"正确"正则表达式转义斜杠`\`

pattern: '^131\.[0-9]{6}$',

更漂亮的改变它pattern: '^131.[0-9]{6}$',.有没有办法忽略行,或忽略文件?

regex prettier

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

区分外键目标与源

我一直在使用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吗?

sequelize.js

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

如何使用 array.fill 创建对象数组?

在以下 javascript 代码段中,为什么在运行此代码段时元素是 intediousconcise不是等效的?我从第二个元素获得/**ref:2**/输出concise

const tedious = [
  {},
  {},
  {},
  {},
  {},
  {},
  {},
  {},
  {},
];

const concise = new Array(9).fill({});

console.log(tedious);
console.log(concise);
Run Code Online (Sandbox Code Playgroud)

javascript arrays

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