小编Shi*_*MSK的帖子

找不到模块 'source-map-support/register

我按照 webpack4 示例来设置配置:https : //github.com/serverless-heaven/serverless-webpack/tree/master/examples/babel-webpack-4 因为我收到错误“找不到模块源-地图支持/注册”。

我已经研究了已经创建的问题:

https://github.com/serverless-heaven/serverless-webpack/issues/357

https://github.com/serverless-heaven/serverless-webpack/issues/228

现在我的配置是:

.babelrc
{
"comments": false,
"sourceMaps": "both",
"presets": ["env","stage-2"],
"plugins": ["source-map-support"]
}
Run Code Online (Sandbox Code Playgroud) webpack.config.js:
const path = require('path');
const nodeExternals = require('webpack-node-externals');
const slsw = require('serverless-webpack');

module.exports = {
  entry: slsw.lib.entries,
  mode: slsw.lib.webpack.isLocal ? 'development' : 'production',
  output: {
    libraryTarget: 'commonjs2',
    path: path.join(__dirname, '.webpack'),
    filename: '[name].js',
    sourceMapFilename: '[file].map',

  },
  optimization: {
    // We no not want to minimize our code.
    minimize: false,
  },
  performance: {
    // Turn off size warnings for …
Run Code Online (Sandbox Code Playgroud)

node.js webpack serverless serverless-webpack-plugin serverless-offline

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

redis中密钥的短语匹配

我在redis中有以下键:

"542 136 mountain road"
"542 136 mountainview road"
"542136 mountain road"
"542 136 mountain"
"136 mountain road"
"136 mountain"
Run Code Online (Sandbox Code Playgroud)

我想得到包含这个短语的键136 mountain.使用glob样式模式,我目前正在进行4次查询,以满足所有可能的情况.

scan 0 MATCH '*[\ ]136 mountain[\ ]*'

scan 0 MATCH '*[\ ]136 mountain'

scan 0 MATCH '136 mountain[\ ]*'

scan 0 MATCH '136 mountain'
Run Code Online (Sandbox Code Playgroud)

总共这四个查询将返回4个结果:

"542 136 mountain road"
"542 136 mountain"
"136 mountain road"
"136 mountain"
Run Code Online (Sandbox Code Playgroud)

如果有更好的方法来更改模式字符串,请分享您的输入,以便可以在单个查询中获得所有4个结果.

glob pattern-matching redis

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

Flow Promise:无法返回请求,因为 Promise [1] 与 <EntityType> 不兼容

我有一个entityType产品并用它来将数据插入DynamoDB使用AWS.DynamoDB.DocumentClient

产品.js:

export class Product {
    id: string;

    partNumber: string;

    createdAt: Date;
}
Run Code Online (Sandbox Code Playgroud)

产品服务.js:

export async function addProduct(request: Product): Product {
  try {
    if (request.id === undefined) {
      request.id = uuid.v4();
    }
    const params = {
      TableName: TABLE_NAME,
      Item: request,
    };
    await dynamoDBClient.put(params).promise();
    return request;
  } catch (err) {
    logger.error(`Error ${err}`);
    throw Error(err);
  }
}
Run Code Online (Sandbox Code Playgroud)

当我运行流程检查时,我在./src/返回请求 时收到以下错误:

无法返回请求,因为Promise [1]

Product
 [2]
Run Code Online (Sandbox Code Playgroud)

即使请求的类型为 Product ,它仍然显示 Promise Error 。我们该如何解决它?

javascript node.js flowtype

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

带参数的 Jest Mock Promise

这是我尝试在 Jest 中编写单元测试的方法

async function getParameter(parameter: string,
  withDecryption: boolean = false): Promise<String> {

  const params = {
    Name: parameter,
    WithDecryption: withDecryption,
  };
  try {
    const request = await       ssmClient.getParameter(params).promise();

    return request.Parameter.Value;
  } catch (err) {
    logger.error(`Error ${err}`);
    throw Error(err);
  }
}
Run Code Online (Sandbox Code Playgroud)

测试方法 :

test('getParameterFromSystemManager', async () => {
  const mockedResponseData = {
    Parameter: {
      Value: 'parameterValue',
    },
  };

 ssmClient.getParameter(params).promise = jest.fn();

 ssmClient.getParameter(params).promise.mockImplementation(() => Promise.resolve(mockedResponseData));

 const data = 
 await SSMParameters.getParameterFromSystemManager('testurl', false, 
 'Test', 'elastic');
 expect(data).toEqual(mockedResponseData.Parameter.Value);
 expect(ssmClient.getParameter).toHaveBeenCalledTimes(1);
});
Run Code Online (Sandbox Code Playgroud)

我收到错误:

类型错误:ssmClient.getParameter(...).promise.mockImplementation 不是函数

我们如何在 Jest …

node.js jestjs aws-sdk ssm aws-sdk-js

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