小编Ken*_*Ken的帖子

在ASP.NET MVC中运行时捆绑ES6模块

是否有任何现有的ES6模块运行时捆绑解决方案?

我希望在MVC5 Web应用程序中简化JavaScript代码开发.我们遇到了大型,笨拙的JS文件的问题,所以我希望得到一个模块加载器系统.到目前为止,我没有为ES6或其他模块加载器格式找到任何现有的bundle变换器.我可以使用TypeScript或nodejs require样式.但我不想使用require.js样式.

也许有一个很好的理由这个解决方案不存在.对于运行时捆绑解决方案,依赖解析处理可能过多.但是,我认为值得一试.

考虑的解决方案

预建的Web客户端

最终,这是我想要的,但我现在需要一个止损解决方案.我知道如何使用grunt/gulp/webpack为HTML客户端组建一个构建系统.但我不想webpack -w在开发期间告诉开发人员运行或类似的东西.我也不想告诉他们为每次JS变更重建解决方案.他们应该能够修改文件,刷新浏览器,并查看更改.

目录结构

这是我最终可能会走的路线.基本上,这个JS代码库由jQuery小部件和普通JS(帮助器/公共函数)组成.所以,如果我在这个目录结构中构造代码并包含js dir,它应该让我大部分时间都在那里:

  • js(DIR)
    • APP-start.js
      • 助手(DIR)
      • 小部件(DIR)

小部件应该没问题.帮助者,我可以看到一个函数/类依赖于另一个函数/类的问题.虽然,因为函数调用永远不应该以帮助程序(只是一个小部件)开始,所以这应该可以正常工作,假设没有使用全局变量(或者可能是一个像'App'这样的全局变量).

asp.net-mvc-5 asp.net-bundling es6-module-loader

7
推荐指数
0
解决办法
1043
查看次数

如何解决重复条目重复条目:javax/annotation/ParametersAreNullableByDefault.class

我是Gradle构建系统和Android Studio的新手,并不能完全弄清楚如何解决这个问题.我的构建失败了:

  * What went wrong:
  Execution failed for task ':cyanEngine:packageAllDebugClassesForMultiDex'.
  > java.util.zip.ZipException: duplicate entry:      javax/annotation/ParametersAreNullableByDefault.class
Run Code Online (Sandbox Code Playgroud)

如果我执行Ctrl+ N并搜索ParametersAreNullableByDefault.一个参考指向外部库 | jsr305-1.3.9.另一种是指向classes.jarxwalk_core_library.

xwalk_core_library在我的xwalk_cordova模块中通过以下方式引用:

{
  android{
    dependencies{
        compile 'org.xwalk:xwalk_core_library:11.40.277.7'
    }
}
Run Code Online (Sandbox Code Playgroud)

我的应用程序的gradle依赖项有:

compile project (':xwalk_cordova')
Run Code Online (Sandbox Code Playgroud)

好像我需要摆脱外部图书馆,但我不知道它来自哪里.

有关如何解决此问题的任何指示?

更新: 我发现外部引用来自Guava,在应用程序build.gradle via中引用compile ('com.google.guava:guava:11.0.2').刚刚更新到Guava版本18.0似乎让我现在已经过了这个.猜猜新版本不再依赖于jsr.

不过,我觉得我会再遇到这个问题.基本上,我们有两个第三方库,具体取决于相同的库.什么是清理它的最佳方法?

我注意到对于robolectic,有一个排除,我猜是出于类似的原因:

testCompile('org.robolectric:robolectric:3.0-rc2') {
    exclude group: 'commons-logging', module: 'commons-logging'
    exclude group: 'org.apache.httpcomponents', module: 'httpclient'
}
Run Code Online (Sandbox Code Playgroud)

我很好奇这个陈述是如何工作的,并且不太了解Gradle文档.这句话是什么意思?'group'和'module'来自哪里?

android gradle cordova android-studio crosswalk-runtime

6
推荐指数
0
解决办法
839
查看次数

使用breezejs和web api处理计算的属性

我正在使用BreezeControllerAttribute使用Web API试验BreezeJS.如何公开实体的计算属性?我发现可靠地做到这一点的唯一方法是创建一个继承自实体或使用投影的中间DTO.通常我会为这种情况使用readonly属性,但这些属性似乎被忽略了.

asp.net-web-api breeze

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

有条件地包括gradle构建项目

场景:我们有一个Android应用程序,其中包含一些不同的可选组件,我们希望能够根据客户需求和许可来包含/排除这些组件.是否可以基于构建参数包含特定项目,而不创建所有排列作为构建风格

./gradlew assembleRelease -PincludeFeatureA=true -PincludeFeatureB=false
Run Code Online (Sandbox Code Playgroud)

我以为我可以在依赖项中做这样的事情:

dependencies {
  if(includeFeatureA){
    compile project(':featureAEnabled')    
  } else {
    compile project(':featureADisabled')
  }
}
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.

更新:考虑到可切换功能的数量,对每个排列使用显式构建变体是很麻烦的.

例如,给定3个可切换功能,我不想构建这样的风格:

Feature1
Feature1-Feature2
Feature1-Feature3
Feature1-Feature2-Feature3
Feature2
Feature2-Feature3
...
Run Code Online (Sandbox Code Playgroud)

android build gradle

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

options.DeutomaticAuthenticate with UseJwtBearerAuthentication的目的

在将代码库从ASP 5 beta 7更新到RC1-final之后,我开始从JwtBearer中间件接收此异常

Unable to cast object of type 'Newtonsoft.Json.Linq.JArray' to type 'System.IConvertible'.
Run Code Online (Sandbox Code Playgroud)

到目前为止我可以看到的决定因素似乎是选项的设置.AutomaticAuthenticate.如果是true,那么我得到例外,否则,我没有.

什么是AutomaticAuthenticate,为什么我需要启用它?

    app.UseJwtBearerAuthentication(options =>
    {
        options.AutomaticAuthenticate = true; 
    }
Run Code Online (Sandbox Code Playgroud)

这是完整的堆栈跟踪:

at System.Convert.ToInt32(Object value, IFormatProvider provider)
   at System.IdentityModel.Tokens.Jwt.JwtPayload.GetIntClaim(String claimType)
   at System.IdentityModel.Tokens.Jwt.JwtPayload.get_Nbf()
   at System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateToken(String token, TokenValidationParameters validationParameters, SecurityToken& validatedToken)
   at Microsoft.AspNet.Authentication.JwtBearer.JwtBearerHandler.<HandleAuthenticateAsync>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNet.Authentication.JwtBearer.JwtBearerHandler.<HandleAuthenticateAsync>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task …
Run Code Online (Sandbox Code Playgroud)

jwt asp.net-core

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

使用 Angular 1 应用程序管理 Typescript 中的 ES6/2015 Promise

我们有一个使用 Typescript 构建的 Angular 1.5 应用程序,我正在尝试找出处理 ng.IPromise 与 Promise(ES6 Promise)的最佳方法。我的偏好是只处理 ES6 Promise 类型。是否有一种优雅的方法来覆盖所有 Angular-JS 和 Angular-Material(也包括)接口以使用 es6 Promise?

我能想到的选项:

  1. 使用一些 d.ts 魔法来做到这一点(可以做到吗?)
  2. 随处转换为 ES6 Promise(有效,但不直观)
  3. 为开源做出贡献,分叉 ng 和 ng 材料的类型,并使它们返回 ES6 Promise 的类型(我可能应该这样做,但不确定我现在有时间进行兔子洞)

澄清

角度应用程序使用的底层 Promise 实现仍然是 $q (不过,我也在应用 Angular-bluebird-promises)。我只是想简化/整合涉及的 Typescript 接口。

angularjs typescript es6-promise angular-promise

4
推荐指数
1
解决办法
3505
查看次数