我的项目结构如下:
MyApp
- hooks
- platforms
- android
- ios
- www
- js / css / templates..
- lib (including all bower components)
Run Code Online (Sandbox Code Playgroud)
目前,该www/lib目录占用了21,8 Mb.(我的项目中添加了大量的凉亭组件.)
构建每个项目时,整个www文件夹都会复制到platform/android(例如)构建文件夹中,当然也包括www/lib.
这导致了非常大的构建,因为包含在凉亭组件中的大量文件对于生产来说是无用的.
手动管理所有的bower依赖关系显然不是一种选择.那么你们如何设法清理项目平台目录以进行构建?
我正在考虑为此创建一个钩子,但在用我不认识的语言(nodeJS)编写代码行之前,我希望你的回归和建议.
首先,我已经检查了关于这一点的各种帖子和博客,我仍然无法弄清楚如何正确地做到这一点.
我尝试了许多不同的组合:
...仍然没有成功..
我的问题
在我的beforeEach函数中,我想调用一个量角器承诺并在执行其余代码之前等待它解决.
我的守则
我已经为愿意帮助我的人准备了这个简单的测试
describe('testAsync', function() {
beforeEach(function() {
console.log('beforeEach - step 1 ')
browser.get("https://angularjs.org/");
console.log('beforeEach - step 2 ')
testFunc()
console.log('beforeEach - after testFunc - step 3')
});
var testFunc = function(){
console.log("testFunc - step 1")
browser.wait(function() {
var deferred = protractor.promise.defer();
element(by.id('twitter-widget-1')).isPresent()
.then(function (isPresent) {
console.log("testFunc - step 2")
deferred.fulfill(isPresent);
});
return deferred.promise;
});
console.log("testFunc - step 3")
}
it('test after BeforeEach', function() {
console.log("Last trace")
});
});
Run Code Online (Sandbox Code Playgroud)
电流输出
[launcher] Running 1 …Run Code Online (Sandbox Code Playgroud) webdriver promise selenium-webdriver angularjs-e2e protractor
我正努力让我的服务器端渲染和服务工作者在服务器端合作.
有关localhost的信息 - >工作
这是按预期工作的.服务工作人员在每次更新时都会工作并更新我的应用.此外; 一个curl localhost:8082送我回我的信息.
我用以下命令启动我的应用程序: npm run ssr
"ssr": "npm run build:ssr && npm run serve:ssr",
"build:ssr": "npm run build:client-and-server-bundles",
"serve:ssr": "node dist/server.js",
"build:client-and-server-bundles": "ng build --prod && npm run webpack:server",
"webpack:server": "webpack --config webpack.server.config.js --progress --colors"
Run Code Online (Sandbox Code Playgroud)
有关生产的信息: - >不工作
网站是通过HTTPS:https: //airdropers.io网站进程在关闭端口上运行,并且HAPROXY将流量从443重定向到网络服务器的端口
Webserver日志上显示问题:无法订阅通知错误:此浏览器禁用或不支持服务工作者
额外信息:
localhost和production上的节点js是相同的:v9.0.0我使用以下过程构建生产:
更新23/02/2019
我现在有了更深刻的理解.我的问题是我使用节点命令启动我的SSR/PWA服务器,例如"node dist/server.js".
从我的理解"node dist/server.js"不适用于服务工作者(PWA)我引用(https://angular.io/guide/service-worker-getting-started)
由于ng服务不适用于服务工作者,因此必须使用单独的HTTP服务器在本地测试项目.您可以使用任何HTTP服务器.以下示例使用来自npm的http-server软件包.要减少冲突的可能性并避免提供过时的内容,请在专用端口上进行测试并禁用缓存.
我无法启动是http-server dist/browser因为我将失去SSR能力.
如何启动PWA/SSR服务器?我应该使用什么命令?
我应该做什么?
更新24/02/2019
正如@GökhanKurt提到的那样,服务工作者无法正常使用我的SSR服务器.我需要SSR用于搜索引擎优化,我需要一个服务工作者来进行浏览器推送通知.我有什么解决方案来处理浏览器用户推送通知?One Signals等第三方lib?
我们欢迎任何想法建议,以帮助我完成这项工作.感谢您的支持,Alex
我面临一些性能问题.事实上,应用程序本身在加载时反应很好,但我的问题更像是当我执行F5(并且再次重新加载应用程序)时,我看到一些奇怪的空闲时间正在扼杀我的应用程序加载时间.
启动我的应用时:
当应用程序启动时,我有1200个观察者.我已经尝试删除所有翻译,并有大约700名观察者,但没有看到任何行为上的差异.
好吧,让我们深入研究这个问题,这是一个代表我的问题的chrome时间轴.我提出了两个不同的.

知道为什么我有那些空闲时光吗?
关于如何更深入地调查该问题的根本原因的任何想法?
编辑:信息09/06/2015
所有我的JS代码都在appcache中,因此,我的所有代码都在应用程序的第一个init加载,然后加载到缓存中.我已经添加到appcache所有供应商/ lib/js/fonts/img等...
在那段时间内,有5或6个请求主要进入第一个块.这是一个公司私人angularJS应用程序
感谢支持,
这实际上是我第一个使用大量设备特性的Cordova插件之一.
上下文
我的android项目由以下部分组成:
在android中,一旦项目被编译,就会创建一个特定的文件来处理我的所有项目定义和依赖项:com.myProject.R.java android项目引用了很多R.drawable(例如),因此需要导入com.myProject.R.java
我想将该Android项目用于Cordova插件.
因此,我为我的cordova插件创建了一个全新的目录: - 创建了我的节点界面 - 复制了我的Android Source - 更新了plugin.xml以引用mt文件/ intent ...
什么工作
随着创建的cordova插件,我将它添加到我现有的离子项目中.这个项目使用ANT进行构建,它已经有6个月了,还没有更新到gradle新的构建系统.
我手工复制了日食生成的R.java到ANT-BUILD com/myProject/R.java,我的项目工作正常.
这一步允许我们轻松地将完整的android项目导出到Cordova插件
什么行不通
Ionic已经更新了它的构建过程,现在正在使用Gradle.更新我的android平台后(用cordova平台rm android/cordova平台添加android)
我现在有很多以下错误(其他问题相同):
platforms\android\build\intermediates\res\debug\layout\main.xml:30: error: Error: No resource found that matches the given name (at 'text' with value '@string/vehicleDetailsDefaultTxt').
Run Code Online (Sandbox Code Playgroud)
此问题与以下事实有关:我com.myProject.R.java没有在gradle构建中创建/生成,并且找不到引用对象.
我试图手动将R.java文件放入:
我该如何参考R.java?或者我该如何自动编译R.java?或者更好的是,我如何制作一个Android项目(带有布局/资源...)一个Cordova项目,以便我像以前一样阻止任何手动步骤?
请随时向我询问有关该问题的其他信息.我会尽快回答
我有一个带有MASTER分支的git存储库.我现在有一个新功能到同一个git项目的特定分支.
我想添加特定的分支cordova插件.
我知道添加了一个基于GIT和GIT TAGS的cordova项目,但我找不到与分支相关的任何内容.
我正在寻找类似的东西:
cordova plugin add https://mygitadresse/myproject#branch_name
Run Code Online (Sandbox Code Playgroud)
感谢支持和建议;
我们有一个Web应用程序,它使用Strongloop的LoopBack作为API和后端,以及前端的Angular,Cordova用于打包移动.来自Cordova的Web应用程序和iOS目标运行良好,但是当我们尝试为Android设备构建时,应用程序服务器无法从设备访问.更具体地说,在加载客户端应用程序并尝试登录后,设备向我的API发出POST但从未收到响应(据我所知,请求从未真正命中过服务器).
这是我到目前为止所尝试的:
access设置为origin="*"Content-Security-Policy在我的(单页)应用程序的index.html中设置了元标记,允许远程网络INTERNET在Android Manifest中正确设置了权限lb-services.jsAngular服务具有正确的API地址由于我能够在没有任何问题的情况下使用Cordova在iOS上运行我的应用程序,我认为我的Android配置必须有特定的东西.我确实遇到了一个单独的问题,即安装的插件与最新的Cordova不兼容,但删除该插件似乎已经解决了这个问题.为Android构建有什么不同可以防止这种情况发生?
编辑:
我已经转而使用Phonegap Build,希望这将是一个更简单的工作流程,但我仍然看到相同的问题..这是我正在做的白名单/ CORS配置:
index.html中的元标记:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'self' 'unsafe-inline'; script-src * 'self' 'unsafe-inline' 'unsafe-eval'">
config.xml(Phonegap Build,可识别信息已删除):
<?xml version="1.0" encoding="UTF-8" ?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0" id="..." version="1.0.0">
<name ... />
<description ... />
<author ... />
<icon src="icon.png" />
<gap:splash src="splash.png" />
<preference name='phonegap-version' value='cli-5.1.1' />
<gap:plugin name="com.indigoway.cordova.whitelist.whitelistplugin" version="1.1.1" />
</widget>
尝试将Angular2应用程序部署到tomcat8时遇到一个奇怪的问题。
首先,上下文:-我使用Angular Cli来进行构建。-应用程序可以在服务器上本地完美运行:ng serve-ng build使我的dist / dir具有所有产品资源-我创建了一个gulp任务来创建WAR,以便将应用程序正确部署到Tomcat。-将战争部署到tomcat webapps directoy
我的应用URI是这样的:https:\ www.myexample.com \ myapp \
Home uri运作良好;当尝试使用Angular2路由时,问题开始了。例如https:\ www.myexample.com \ myapp \ myroute。
Tomcats认为这是一个新的Webapp目录,并且不进行任何转发https:\ www.myexample.com \ myapp \ index.html
到目前为止,我已经看过几篇有关这种行为的文章。我还没有看到任何解决方案。
有谁知道/如何解决这个问题以在Tomcat8上正确运行我的angular2应用程序?
谢谢支持。
我的问题与Chrome浏览器有关。我正在使用?ordova和https://github.com/apache/cordova-plugin-file开发应用程序。
该插件要求在最终用户浏览器上使用永久性存储的权限,例如:
我很久以前单击“允许”,此弹出窗口不再显示。
现在,我想阻止我的用户弹出该窗口,因此,我需要在计算机中撤消该权限才能执行一些测试。
我尝试过各种测试来更改浏览器设置?但我没有成功撤消该许可。我说的不是位置/闪存或其他权限,而是特定的存储权限。
如果有人对如何撤销该线索有任何了解,我将很高兴对其进行测试并提供反馈。
cordova ×4
angular ×2
angularjs ×2
android ×1
angular-cli ×1
bower ×1
branch ×1
file-storage ×1
git ×1
gradle ×1
ionic ×1
javascript ×1
node.js ×1
performance ×1
permissions ×1
promise ×1
protractor ×1
r.java-file ×1
ssr ×1
strongloop ×1
tomcat8 ×1
webdriver ×1