小编Bal*_*zar的帖子

Gulp with watchify/browserify运行两次然后停止观看

这是我的gulpfile.js

var gulp = require('gulp');
var browserify = require('browserify');
var source = require("vinyl-source-stream");
var reactify = require("reactify");
var watchify = require('watchify');
var gutil = require('gulp-util');

var paths = {
    scripts: ['src/jsx/index.jsx']
};

gulp.task('browserify', function(){


    var bundler = watchify(browserify('./src/jsx/index.jsx', watchify.args));
    bundler.transform(reactify);

    bundler.on('update', rebundle);

    function rebundle() {
        return bundler.bundle()
            // log errors if they happen
            .on('error', gutil.log.bind(gutil, 'Browserify Error'))
            .pipe(source('bundle.js'))
            .pipe(gulp.dest('./public/js'));
    }

    return rebundle();

});

gulp.task('watch', function() {
    gulp.watch(paths.scripts, ['browserify']);
});
Run Code Online (Sandbox Code Playgroud)

然后我的命令行输出如下所示:

$ gulp watch

[15:10:41] Using gulpfile ~/blizztrack/dashboard/gulpfile.js
[15:10:41] Starting 'watch'... …
Run Code Online (Sandbox Code Playgroud)

browserify gulp watchify gulp-watch

8
推荐指数
3
解决办法
4050
查看次数

OAuth1(三条腿):签名无效

我在Ionic2应用程序中配置OAuth时遇到问题.我没有在OAuth的前端部分使用任何框架/库.

问题是我401: Unauthorized: Invalid signature每次尝试检索access_token都会得到一个.(向下滚动代码,用注释缩进问题)

现在我的服务器被设置为三脚OAuth应用程序(如此处所述).这意味着将有3个端点:

1. /request_token(这个有效)

请求(GET参数):

oauth_version : ...
oauth_nonce: ....
oauth_timestamp: ...
oauth_consumer_key: ...
oauth_signature_method: ...
oauth_signature: ...
Run Code Online (Sandbox Code Playgroud)

响应:

oauth_token: .... (temporary)
oauth_token_secret: ....
Run Code Online (Sandbox Code Playgroud)

2. /authorize(这个也有效 - >打开浏览器进行身份验证)

请求(GET参数):

oauth_token: ....
oauth_callback: ....
Run Code Online (Sandbox Code Playgroud)

响应

oauth_token: ....
oauth_verifier: ...
Run Code Online (Sandbox Code Playgroud)

3. /access_token(这个不起作用)

请求(GET参数)

oauth_token: ....
oauth_verifier: ....
oauth_version : ...
oauth_nonce: ....
oauth_timestamp: ...
oauth_consumer_key: ...
oauth_signature_method: ...
oauth_signature: ...
Run Code Online (Sandbox Code Playgroud)

响应:

oauth_token: .... (permanent)
oauth_secret: ....
Run Code Online (Sandbox Code Playgroud)

最后一个不起作用,虽然我signatureBaseString以相同的方式设置并根据指南设置键 …

oauth ionic2 angular

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

当uullified与gulp一起使用时,Angular-ui-router会中断

我有以下简单的angular.js应用程序,遵循此处概述的最佳实践.

angular
  .module('myApp', ['ui.router']);

(function() {
    function routes($stateProvider, $urlRouterProvider) {
        $urlRouterProvider.otherwise("/404");

        $stateProvider
            .state('createCluster', {
                url: '/create-cluster',
                templateUrl: 'templates/create-cluster.html'
            })
    }

    angular
        .module('myApp')
        .config(routes);
})();
Run Code Online (Sandbox Code Playgroud)

我正在使用gulp来连接所有JavaScript文件,包括angular-ui-router.js并在uglify之后运行所有内容.当我丑化的时候,我得到了:

未捕获错误:[$ injector:modulerr]由于以下原因无法实例化myApp模块:
错误:[$ injector:unpr]未知提供者:e

当我删除uglification时,一切正常.如何让uglification不破坏ui-router

这是我的gulp任务:

gulp.task('uglify-js', function () {
  gulp.src(['client/js/libraries/**/*.js', 'client/js/source/**/*.js'])
    .pipe(concat('app'))
    .pipe(ngAnnotate())
    .pipe(uglify())
    .pipe(rename({ extname: ".min.js" }))
    .pipe(gulp.dest('client/js'))'
});
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angular-ui-router gulp

7
推荐指数
2
解决办法
7493
查看次数

Chromebook上的Chrome无法从CDN加载样式

我有一个HTML页面,它引用了许多样式表.大多数样式表都是网站的"本地".但是,我有一个样式表,我从CDN引用.这是Font-Awesome css文件.我的参考如下:

<link type="text/css" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" />
Run Code Online (Sandbox Code Playgroud)

我在我的应用程序的几个地方引用了这个css文件中的样式,示例参考是:

<span class="fa fa-pencil cursor-pointer margin-left-5" ng-click=\'openRoomEdit(dataItem)\'></span>
Run Code Online (Sandbox Code Playgroud)

除了 Chromebook 之外,这些参考文章在任 我已在Windows上的Edge,Firefox和Chrome以及Mac上的Safari和Chrome上测试过它.它适用于这些示例中的每一个.但是,在Chromebook上,它无法从该CSS中找到样式,因此图标无法呈现.

在Chromebook上,当我net::ERR_INSECURE_RESPONSE尝试从CDN加载CSS文件时,我在网络面板中获得了一个.我正在使用https引用该文件,该应用程序运行为具有有效SSL证书的https.

当我在应用程序本地安装Font-Awesome文件并以这种方式引用它时,一切正常.我希望能够通过CDN引用它,但由于我的许多客户使用Chromebook,我需要弄清楚为什么这不起作用.

css ssl cdn stylesheet chromebook

7
推荐指数
1
解决办法
602
查看次数

在HTTP 307的情况下上传文件

我正在编写一个Spring控制器来处理来自客户端的HTTP PUT请求,并生成S3预先签名的url并发出HTTP 307状态(Temp重定向)代码.所以基本上我正在验证客户端,如果成功,那么我要求他写入s3文件夹.客户端可以写入已签名的URL位置.

现在我担心的是客户端必须上传两次.一旦到我的应用程序服务器再到s3,所以操作将花费两倍的时间.

我的理解是否正确?在这种情况下,客户端实际上是否写了2次?或者客户端是否足够智能,只是首先推送部分有效负载,如果成功,则推送整个负载?

我读到了关于HTTP 100状态代码,但看起来app server/tomcat已经发出它并且不在我的控制之下.

这是我的弹簧控制器

@RequestMapping("/upload")
public ResponseEntity<Void> execute(HttpServletRequest request) throws IOException, ServletException {

  HttpHeaders headers = new HttpHeaders();
  String redirectUrl = getRedirectUrl(requestURI, request.getMethod());
  headers.setLocation(new URI(redirectUrl));

  ResponseEntity<Void> redirectEntity = new ResponseEntity<Void>(null,headers,HttpStatus.TEMPORARY_REDIRECT);
  return redirectEntity;
}
Run Code Online (Sandbox Code Playgroud)

如何防止clint将整个有效负载上传到我的应用服务器?

java tomcat file-upload

7
推荐指数
1
解决办法
491
查看次数

使用浏览器缓存进行增量更新

客户端(AngularJS应用程序)从服务器获取相当大的列表.这些列表可能有数百或数千个元素,这可能意味着几兆字节未压缩(并且一些用户(管理员)获得更多数据).

我不打算让客户端得到部分结果,因为排序和过滤不应该打扰服务器.

压缩工作正常(大约10倍),因为列表不经常更改304 NOT MODIFIED,也有很多帮助.但是缺少另一个重要的优化:

由于列表的典型更改相当小(例如,修改两个元素并添加新元素),因此传输更改只是一个好主意.我想知道如何正确地做到这一点.

喜欢的东西GET /offer/123/items应该总是返回所有项目的报价号123,对不对?这里可以使用压缩和304,但没有增量更新.像GET /offer/123/items?since=1495765733听起来像是要走的路,但是浏览器缓存不会被使用:

  • 或者没有任何改变,答案是空的(缓存它是没有意义的)
  • 或者某些东西已经改变了,客户端更新了它的状态,并且从不再要求自1495765733以来的更改(并且缓存它更没意义)

显然,当使用"since"查询时,不会为"资源"缓存任何内容(原始查询只使用一次或根本不使用).

所以我不能依赖浏览器缓存,我只能使用localStorage或者sessionStorage,它有一些缺点:

  • 它被限制在几兆字节(浏览器HTTP缓存可能会更大并自动处理)
  • 当我达到极限时,我必须实施一些替换策略
  • 浏览器缓存存储了我没有得到的压缩数据(我必须重新压缩它们)
  • 它不适用于用户(管理员)获取更大的列表,因为即使单个列表可能已经超出限制
  • 它在注销时被清空(客户的要求)

鉴于HTML 5和HTTP 2.0,这是非常令人不满意的.我错过了什么?

是否可以将浏览器HTTP缓存与增量更新一起使用?

ajax rest caching http single-page-application

7
推荐指数
1
解决办法
227
查看次数

使用react-navigation更改状态栏颜色

DrawerNavigator在我的应用程序中使用了反应导航.没有任何自定义,Android状态栏为蓝色,而不是黑色.

我试着这样做

StatusBar.setBackgroundColor('#000000');
Run Code Online (Sandbox Code Playgroud)

但它只能工作几秒钟,然后又会变回蓝色.似乎我正在使用的东西将状态栏颜色设置为蓝色.但是,我试图删除所有依赖项并且只保留react-navigation,它仍然会发生,而react-navigation的文档也没有说明这一点.

如何使用react-navigation将状态栏颜色设置为黑色?

android-statusbar react-native react-navigation

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

如何在nrrd加载器中更新具有相同silde的两个切片

我是新来的Javascript,并NRRD Loader在nrrd装载机,我们可以使用滑块更改切片的索引值

sliceY = volume.extractSlice('y', Math.floor(volume.RASDimensions[1]/2));
scene3.add(sliceY.mesh);

gui.add(sliceY, 'index', 0, volume.RASDimensions[1], 1).name('indexY').onChange(function () {
  sliceY.repaint.call(sliceY);
});
Run Code Online (Sandbox Code Playgroud)

考虑我需要使用相同的滑块同时更新slicesX的值

sliceX = volume.extractSlice('x', Math.floor(volume.RASDimensions[1]/2));
Run Code Online (Sandbox Code Playgroud)

javascript vtk

7
推荐指数
1
解决办法
86
查看次数

如何创建react native ios共享扩展应用程序

我希望我的本机应用程序可以从Whatsapp,Skype,Photos中分享.我尝试使用react-native-share-extension,但它只显示Safari浏览器中的扩展名.

如何在iOS中的react-native中实现Safari之外的应用程序中的共享功能?

javascript ios ios8-share-extension react-native react-native-ios

7
推荐指数
1
解决办法
1678
查看次数

Babel插件 - 提议装饰器未按预期工作

我在我的程序中添加了这两个devDependencies package.json:

"@babel/plugin-proposal-class-properties": "^7.1.0",
"@babel/plugin-proposal-decorators": "^7.1.6",
Run Code Online (Sandbox Code Playgroud)

.babelrc一个文件中,我将它们添加为插件:

{
    "presets": ["module:metro-react-native-babel-preset"],
    "plugins": [
        ["@babel/plugin-proposal-decorators", { "legacy": true}],
        ["@babel/plugin-proposal-class-properties", { "loose": true}]
    ]
}
Run Code Online (Sandbox Code Playgroud)

我使用mobx所以observable是干净的语法,我的文件看起来像这样:

class AppStore {
  @observable username = ''
}

export default (new AppStore())
Run Code Online (Sandbox Code Playgroud)

但它始终显示此错误:

我想我已经正确完成了,但无法检测babel插件是否已加载.

javascript babel reactjs babeljs react-native

7
推荐指数
1
解决办法
766
查看次数