小编Gre*_*eco的帖子

Next.js 和 Jest:语法错误:无法在模块外部使用 import 语句

我正在使用 TypeScript 开发 Next.js 项目,并使用 Jest 和 React 测试库进行测试。但是,我遇到 SyntaxError : Cannot use import statements external a module for elements where I import rehype-raw

\n

据我了解,Jest不支持ES6,因此node_modules可能需要转换。这可以使用配置transformIgnorePatterns。例如,如果rehype-raw导致此错误,"transformIgnorePatterns": ["node_modules/(?!rehype-raw)/"]则应允许转换rehype-raw但不允许转换其他模块。从而解决这个错误。

\n

但是,这对我不起作用。但我不知道为什么以及如何解决这个问题。我发现没有建议的解决方案可以解决这个问题。我在下面附上了我的错误输出jest.config.jsbabel.rc文件。

\n

错误输出

\n
 FAIL  test/pages/companies/[id].test.tsx                  \n  \xe2\x97\x8f Test suite failed to run\n\n    Jest encountered an unexpected token\n\n    [...]\n\n    Details:\n\n    /path/frontend-job/node_modules/rehype-raw/index.js:7\n    import {raw} from 'hast-util-raw'\n    ^^^^^^\n\n    SyntaxError: Cannot use import statement outside a module\n\n      3 | import …
Run Code Online (Sandbox Code Playgroud)

javascript typescript jestjs babel-jest next.js

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

如何在 Django 中正确生成 Kafka 事件

我正在使用 django 进行项目,并希望根据某些请求触发 Kafka 事件。我知道如何在视图中生成卡夫卡事件。

class TestList(generics.ListCreateAPIView):
    permission_classes = [permissions.IsAuthenticated]

    queryset = Test.objects.all()
    serializer_class = TestSerializer

    def post(self, request, *args, **kwargs):
        serializer = TestSerializer(data=request.data)

        if serializer.is_valid():
            serializer.save()

            producer = KafkaProducer(bootstrap_servers=[f'{settings.SECRETS.kafka.host}:{settings.SECRETS.kafka.port}'],
                                     value_serializer=lambda m: json.dumps(m).encode('ascii'))
            kafka_msg = {
                'msg': {
                    'hello': 'world',
                },
            }
            producer.send('test', key=serializer.instance.id.bytes, value=kafka_msg) \
                .add_callback(on_send_success).add_errback(on_send_error)

            return Response(serializer.data, status=status.HTTP_201_CREATED)

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)

但是,我不确定每次在请求中创建 KafkaProducer 是否是最佳选择。有没有一种方法可以在启动时通过持久连接创建生产者,以及它如何或不会有什么区别吗?

django apache-kafka django-rest-framework kafka-producer-api

5
推荐指数
0
解决办法
2574
查看次数

C - 错误是"free():下一个大小无效(正常)"

我只是找不到导致这个问题的原因.

MYSQL *startup(unsigned char *path_to_file, int size_of_path) {
MYSQL *con;
bool path_is_file = false;
bool path_is_directory = false;
FILE *startup_file;
int i;
unsigned char buffer[LINEBUFFERSIZE];
unsigned char string[LINEBUFFERSIZE];
unsigned char c;

//Allocate memory for the new file path
unsigned char *path;
path = (unsigned char *) malloc(size_of_path);
if(path == NULL)
    error("Could not allocate memory for path to file.\nIn startup()\n");

//Check if startup file exists or if it is a directory
//Bug is somewehre here!!!!
struct stat s;
printf("%s", path_to_file);
if(stat(path_to_file, …
Run Code Online (Sandbox Code Playgroud)

gdb valgrind pointers sigabrt

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

C++ - 返回对向量元素的引用

我想返回对作为参数的向量中的单个元素的引用,然后比较那些内存地址.我的代码的简化示例如下所示:

const int &test(std::vector<int> i) {
    return i.at(3);
}

TEST(test, all_test) {
    const std::vector<int> i = {1,2,3,4,5};
    const int &j = test(i);
    ASSERT_THAT(&j, Eq(&i.at(3)));
}
Run Code Online (Sandbox Code Playgroud)

使用此我收到以下错误消息:

Failure
Value of: &j
Expected: is equal to 0x55da7899d4dc
  Actual: 0x55da7899d4fc (of type int const*)
Run Code Online (Sandbox Code Playgroud)

如何返回对单个向量元素的引用?

c++ return reference stdvector

0
推荐指数
1
解决办法
600
查看次数