小编Ste*_*eph的帖子

使用动态模块进行代码拆分?

我在React中使用Webpack的代码拆分功能.我正在构建一个应用程序,用户将选择一个选项,相应的React组件将呈现.但是,我发现使用CommonJs require.ensure仅适用于硬编码字符串.当我使用变量时,似乎它正在工作,组件切换出来.但是,当我查看网络选项卡时,我发现它没有拆分代码 - 它不会加载任何新的包.当我硬编码时,每次都有一个新的捆绑呼叫.

这是什么工作:

executeDynamic(component){
    var that = this;
    switch(component){  
        case 'SolidButton':
            require.ensure([], function(require){
                DynamicModule = require(`./elements/SolidButton/index.js`);
                that.forceUpdate();
            });
            break;
        case 'ThreeDButton':
            require.ensure([], function(require){
                DynamicModule = require(`./elements/ThreeDButton/index.js`);
                that.forceUpdate();
            });
            break;
        case 'NoPreview':
            require.ensure([], function(require){
                DynamicModule = require(`./elements/NoPreview/index.js`);
                that.forceUpdate();
            });
            break;
        default:
            break;
    }       
}
Run Code Online (Sandbox Code Playgroud)

这是我想要的工作:

executeDynamic(component){
    var that = this;
    require.ensure([], function(require) {
        DynamicModule = require(`./elements/${component}/index.js`);
        that.forceUpdate();
    });
}
Run Code Online (Sandbox Code Playgroud)

commonjs reactjs webpack code-splitting

8
推荐指数
1
解决办法
280
查看次数

TextInput标签/ id未在排毒中被拾取

我只是设置Detox并且用户错误是可能的......据说,我认为我做得对.我有一个TextInput元素,accessibilityLabel和testID都设置为电子邮件.但是,排毒无法找到带有by.id或by.label的UI元素.奇怪的是,我可以在xcode的视图层次结构中找到我的标识符.我不确定从哪里开始?我附上了视图层次结构的屏幕截图.

xcode视图层次结构1 of 2

xcode视图层次结构2 of 2

排毒,节点,设备,Xcode和macOS版本

  • 排毒:7.3.3
  • 原住民:0.54.2
  • 节点:8.11.1
  • 设备:iPhone 7
  • Xcode:9.3
  • macOS:10.13.3

排毒测试 正如您所看到的,我正在尝试使用by.label和by.id. 我的测试是:

describe('Boot and sign in', () => {
    beforeEach(async () => {
        await device.reloadReactNative();
    });

    it('should have welcome screen', async () => {
        await expect(element(by.label('Login'))).toBeVisible();
    });

    it('should show login screen after tap', async () => {
        await element(by.label('Login')).tap();
        await expect(element(by.label('login-signin'))).toBeVisible();
    });

    it('should sign in and land on the homepage', async () => {
        await element(by.label('email')).typeText('qa@integrationtest.com');
        await element(by.label('password')).typeText('aaaaaa');
        await element(by.label('Sign in button')).tap();
        await expect(element(by.label('HOME'))).toBeVisible();
    });

    it('should sign in and land …
Run Code Online (Sandbox Code Playgroud)

xcode ios detox

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

标签 统计

code-splitting ×1

commonjs ×1

detox ×1

ios ×1

reactjs ×1

webpack ×1

xcode ×1