小编Jas*_*rth的帖子

webpack从多个条目文件导出类

我正在使用webpack捆绑一个供第三方使用的框架.该框架应该公开多个ES6类.以模块化方式构建,我为每个文件编写了一个类.我想要做的是将所有这些文件一起构建,并将它们捆绑在给定的"命名空间"下.例:

apples.js export class Apples {...}
oranges.jsexport class Oranges {...}

webpack.config.js:

module.exports = {
  entry: ['./src/apples.js', './src/oranges.js'],
  output: {
    path: './dist',
    filename: 'fruit.js',
    library: 'Fruit',
    libraryTarget: 'umd'
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我在浏览器中加载此库并键入fruit控制台,我只会看到Fruit下的Oranges对象.只有最后一个条目文件在库中显示出来.当然,webpack文档证实了这种行为:

如果传递数组:启动时加载所有模块.最后一个是导出的. http://webpack.github.io/docs/configuration.html#entry

我目前的解决方法是从一个文件导出我的所有类,但它变得非常笨拙.

如何设置包含所有导出的多个条目文件的库?或者我在这里做错了什么?

javascript ecmascript-6 webpack

15
推荐指数
1
解决办法
4580
查看次数

Cordova'deviceready'事件没有在角度.run区域内发射

我在让'deviceready'从AngularJS里面注册时遇到了问题.我确定这之前有用,所以我不确定发生了什么变化.

如果我从全局addEventListener调用'deviceready',它就会起作用,如下所示:

document.addEventListener('deviceready', function(){
   localStorage.deviceReadyGlobal = true;
});
Run Code Online (Sandbox Code Playgroud)

deviceReadyGlobal = true已设置.但是,如果我尝试从Angular中附加它,它永远不会触发,如下所示:

app.run(function(){
    document.addEventListener('deviceready', function(){
        localStorage.deviceReadyAngular = true;
    });
});
Run Code Online (Sandbox Code Playgroud)

deviceReadyAngular永远不会设置.现在,我知道PhoneGap可能已经解雇了'deviceready'而Angular正在引导,但根据PhoneGap文档,这应该无关紧要.

deviceready事件的行为与其他事件略有不同.在deviceready事件触发后注册的任何事件处理程序都会立即调用其回调函数.

"deviceready"的行为有什么变化吗?

我目前正在使用Cordova 3.3.0和Angular 1.2.5.

javascript angularjs cordova

6
推荐指数
1
解决办法
5072
查看次数

关于CSS转换后触摸事件的Android 4 Chrome测试问题

我遇到了CSS转换和触摸事件命中测试组合的问题.这仅适用于Android 4中的Chrome版本(稳定版和测试版).iOS Safari以及带触摸仿真的Chrome桌面似乎都运行良好.

我几乎肯定这是一个bug,所以我认为我主要是在寻找解决方法.

问题是触摸的命中测试似乎适用于元素在变换之前的位置,而不是最终位置.您可以在我的jsfiddle上看到一个示例(仅限Android 4 Chrome):

jsfiddle:http: //jsfiddle.net/LfaQq/ 全屏:http: //jsfiddle.net/LfaQq/embedded/result/

如果将蓝色框拖到屏幕的一半并松开,它将弹回到顶部.现在,如果您尝试再次从页面的上半部分拖动,则不会注册任何触摸.触摸事件甚至不会在元素上触发.但是,如果您尝试触摸元素的底部,它可以正常工作.然后,您可以尝试从底部向上移动它,并观察该命中测试不再适用于底部,但在顶部工作.

这就是我处理事件的方式:

function handleTouch(e) {

    console.log("handle touch")

    e.preventDefault();

    switch(e.type){
        case 'touchstart':
            console.log("touchstart");
            touchOriginY = e.targetTouches[0].screenY;
            break;
        case 'touchmove':
            console.log("touchmove");
            el.innerHTML = e.targetTouches[0].screenY;
            var p = e.targetTouches[0].screenY - touchOriginY;
            el.style[TRANSFORM] = 'translate3d(0,' + p + 'px' + ',0)';
            break;
        case 'touchcancel':
            console.log("touchcancel");
            // Fall through to touchend
        case 'touchend':
            //console.log("touchend");
            //el.style[TRANSITION] = '.4s ease-out';
            el.style[TRANSFORM] = 'translate3d(0,0,0)';
            break;
    }

}

el.addEventListener('touchstart', handleTouch);
el.addEventListener('touchend', handleTouch);
el.addEventListener('touchmove', handleTouch); …
Run Code Online (Sandbox Code Playgroud)

javascript android google-chrome touch css3

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

ember-data 夹具数据“无法读取未定义的属性‘promise’”

这让我抓狂。我或多或少地遵循http://emberjs.com/guides/的指南视频,但提供了我自己的夹具数据数据集。但是,无论我尝试什么,我最终都会遇到错误:

未捕获的类型错误:无法读取未定义的 ember-data.js 的属性“promise”:240

JS:

App.Store = DS.Store.extend({
    revision: 12,
    adapter: 'DS.FixtureAdapter'

});

App.UnauthedRoute = Ember.Route.extend({
    model: function() {
        return App.CurrentUser.find();
    }
});

App.CurrentUser = DS.Model.extend({
    username: DS.attr('string'),
    email: DS.attr('string'),
    session: DS.attr('string')
});

App.CurrentUser.FIXTURES = [
    {
        id: 1,
        username: "gamerbob",
        email: "bob@gamer.com",
        session: "ABC123"
    }
];
Run Code Online (Sandbox Code Playgroud)

模板:

<script type="text/x-handlebars" data-template-name="unauthed">
    Resusult:
    {{#each model}}
        {{username}}
    {{/each}}
</script>
Run Code Online (Sandbox Code Playgroud)

如果我从路线的模型挂钩中删除 App.CurrentUser.find() ,则不会出现错误,但这也达不到目的。这里发生了什么?我做错了什么,还是余烬数据不稳定?

ember.js ember-data

3
推荐指数
1
解决办法
2230
查看次数