Javascript Jest-如何考虑未编译模块?

Javascript Jest-如何考虑未编译模块?,javascript,node.js,unit-testing,Javascript,Node.js,Unit Testing,我正在使用Jest运行一些测试,并且遇到了我正在使用的其中一个模块的问题。问题是,我正在尝试导入一个在构建时未编译的模块。我不向下编译的意思是,imports被放在我试图导入到另一个文件的顶部。我的意思是: jest.mock('@my-org/my-package/dist/browser'); import * as NTracking from '@my-org/my-package/dist/browser'; import generateStubs from '../test-jes

我正在使用Jest运行一些测试,并且遇到了我正在使用的其中一个模块的问题。问题是,我正在尝试导入一个在构建时未编译的模块。我不向下编译的意思是,
imports
被放在我试图导入到另一个文件的顶部。我的意思是:

jest.mock('@my-org/my-package/dist/browser');
import * as NTracking from '@my-org/my-package/dist/browser';
import generateStubs from '../test-jest/fixtures/client-stubs';

import testedController from './controller';

describe('client controller b', () => {
    const stubs = generateStubs();
    let mockWindow;

    beforeEach(() => {
        mockWindow = stubs.mockWindow;
        NTracking.mockImplementation(() => stubs.nTracking);
    });

    afterEach(() => {
        jest.clearAllMocks();
    });

    it('should construct', () => {
        new testedController(mockWindow);
    });
});
我遇到的问题是在第2行,我试图从
@my org/my package/dist/browser
导入
NTracking
。我尝试导入的文件如下所示:

browser.js

import somePackage from 'some-packge/some-function';
import someOtherPackage from 'some-other-packge/some-function';
在运行测试时,我遇到以下错误:

SyntaxError:意外的标识符

这是因为单词
import
显然不是本机javascript定义


我的问题是-在运行测试之前,如何配置Jest来编译有问题的模块(
mypackage
)?

您确定问题出在
import
语句中吗?我遇到这种问题,错误消息是:

SyntaxError: Cannot use import statement outside a module
似乎对ECMAScript模块的支持仍处于试验阶段,在测试之前使用babel转换模块可能会取得更好的成功,请参见此处的讨论: