标题非常简单.
我想知道是否有可能直接将编译好的jsp(生成的servlet)看到eclipse中.无需部署到任何服务器上.
我试图启用视图编译,以加快我的ASP.NET MVC3网站加载.我的网站托管在AppHarbor上.
但是,我的视图使用了App_Code文件夹中定义的MVC3视图助手.
当我尝试加载我的网站时,我得到:"目录'/ App_Code /'是不允许的,因为应用程序是预编译的."
如何停止将App_Code文件夹部署到Web服务器,但是仍然预编译了App_Code帮助程序?
我已经尝试将帮助程序更改为Content = None,但这会导致AppHarbor构建错误,因为在预编译期间无法找到帮助程序文件.
我不确定是否有一种现有的方法可以做到这一点,但是使用 asset_sync 的想法是资产是从 S3 或某些 CDN(例如 cloudfront)提供的,因此不需要成为应用程序 slug 的一部分。是否有可能在 Heroku 上的 .slugignore 中包含 /assets 并且仍然使资产:预编译和资产同步工作?如果我只是将 /assets 放在 .slugignore 中,它们不会与摘要一起编译,并且对资产的引用没有指纹,因此不起作用。
我正在尝试编译Android项目SGTPuzzles,并遇到了我需要帮助理解的问题.错误是:
构建期间发生错误.在项目"SGTPuzzles"上运行构建器"Android Pre Compiler"的错误.路径必须包含项目和资源名称:/ SGTPuzzles
我是Android开发(以及Eclipse和Java)的新手,所以我不确定如何找出错误的来源.我正在运行Ubuntu 12.04,ADT v22.3,并使用附带的Git工具将SGTPuzzles项目导入我的Eclipse工作区.
我在网上搜索,发现类似的问题在这里和这里(一些不太有用的非计算器结果中),但没有解决方案.我已经尝试清理我的工作区,重新克隆存储库,然后重新启动Eclipse.我尝试过'Android工具' - >'修复项目属性'.没有任何帮助.我不知道在哪里可以了解更多关于导致此问题的文件或资源的信息,因此我调试很棘手.任何建议都会非常感激.谢谢!
我有一个很大的角度应用程序,主页面中包含5个模板
<script type="text/ng-template" id="/myMainTemplate.html">...</script>
<script type="text/ng-template" id="/myTemplatePage2.html">...</script>
<script type="text/ng-template" id="/myTemplatePage3.html">...</script>
<script type="text/ng-template" id="/myTemplatePage4.html">...</script>
Run Code Online (Sandbox Code Playgroud)
但是,我的应用程序需要大量时间来启动.
删除模板2/3/4修复它但当然打破了应用程序,我的猜测是angularjs需要花费太多时间来编译5个模板.
有没有办法预编译angularjs模板,例如使用nodejs或类似的东西(我们可以用手把编译模板的方式相同)?
如果我理解该$compile指令,那么想法就是将指令移到$compile(myTemplate)客户端的服务器端
我试图在一些前端触摸后推送到Heroku,但是在预编译时我有几个错误(我认为语法错误).
问题是,我得到了预编译资产的行号,而不是原始资产的行号,所以我不知道如何调试它.
ExecJS::ProgramError: Unexpected token: operator (<) (line: 20575, col: 0, pos: 641944)
Error
at new JS_Parse_Error (/tmp/execjs20141029-3052-g386xfjs:2357:10623)
at js_error (/tmp/execjs20141029-3052-g386xfjs:2357:10842)
at croak (/tmp/execjs20141029-3052-g386xfjs:2357:19067)
at token_error (/tmp/execjs20141029-3052-g386xfjs:2357:19204)
at unexpected (/tmp/execjs20141029-3052-g386xfjs:2357:19292)
at /tmp/execjs20141029-3052-g386xfjs:2357:27484
at /tmp/execjs20141029-3052-g386xfjs:2357:29977
at expr_ops (/tmp/execjs20141029-3052-g386xfjs:2357:30735)
at /tmp/execjs20141029-3052-g386xfjs:2357:30827
at /tmp/execjs20141029-3052-g386xfjs:2357:31270
Run Code Online (Sandbox Code Playgroud) var foo=1;
function bar(){
foo=10;
return;
function foo(){}
}
bar();
alert(foo);Run Code Online (Sandbox Code Playgroud)
我目前正在学习javascript如何在机器中实际运行,这是我在示例中看到的一段代码.我不知道为什么最终警报是1而不是10.所以我想知道任何人都可以帮我解释javascript虚拟机是如何实际执行这些代码的.谢谢!
我的 app/assets/javascripts/channels 文件夹中有一个 messages.js.erb 文件,它应该生成代码以从数据库中获取每个聊天室并为该聊天室创建频道订阅。
这是我的 messages.js.erb 文件
//**app/assets/javascripts/channels/messages.js.erb**
$(document).on('turbolinks:load', function() {
submitNewMessage();
});
<% Chatroom.all.each do |chatroom| %>
App['room' + <%=chatroom.id%>] = App.cable.subscriptions.create({channel: 'MessagesChannel', room: <%=chatroom.id%>}, {
received: function(data) {
$("[data-chatroom='" + this.chatroomId + "']").removeClass('hidden');
return $("[data-chatroom='" + this.chatroomId + "']").append(data.message);
},
setChatroomId: function(chatroomId) {
this.chatroomId = chatroomId;
}
});
<% end %>
function submitNewMessage(){
//console.log(uid);
$('textarea#message_content').keydown(function(event) {
if (event.keyCode === 13) {
var msg = event.target.value;
var chatroomId = $("[data-chatroom]").data().chatroom;
var uid = $('#uid').val();
//console.log(uid);
App['room' + chatroomId].setChatroomId(chatroomId); …Run Code Online (Sandbox Code Playgroud) javascript ruby-on-rails precompile asset-pipeline actioncable
我的任务是改进我们服务器上的 IIS 预加载和应用程序初始化。我已经在IIS上实现了应用程序初始化和应用程序预加载,但是在回收/重新启动应用程序池时仍然有很长的等待时间。我找到了一些我认为对我有帮助的有用链接,但我仍然没有获得预编译的 Razor 视图。我试图按照 RazorGenerator 的这篇文章进行操作,但它似乎不起作用。 http://blog.davidebbo.com/2011/06/precompile-your-mvc-views-using.html
我为上述文章采取的步骤
1) 从这里安装 VS 扩展:https : //marketplace.visualstudio.com/items?itemName=DavidEbbo.RazorGenerator
2)安装nuget包RazorGenerator.Mvc
3) 将剃刀视图上的输出更改为“无”,并将“自定义工具”设置为“RazorGenerator”,如上面文章所述。
我进行了清理和重建,但没有看到我的 cshtml 文件的 .cs 文件。
好的,那么我认为这不起作用,让我们尝试其他方法......让我们尝试一下 Visual Studio 开箱即用的预编译功能,正如这篇文章的答案所暗示的那样:在 asp .net mvc 中预编译 razor 视图5,但仍然没有预编译的 cshtml 文件。
我想要完成的是如何事先生成这些文件,以便 IIS 不必。这是回收/重启后 IIS 临时缓存文件的图像
这是浏览器请求应用程序后的图像
最后在发布时,我使用了 Visual Studio 预编译(对于上面的两个图像),所以我也附上了我的发布选项图像。
好的...现在我认为这是不可能的,但是然后在这里找到另一个 SO 解决方案:VS2013 不编译 ASP.NET MVC5 视图,但再次发布时,我仍然没有在我的应用程序的临时 IIS 缓存中看到 cshtml 文件的编译版本。是否有任何人都可以建议实际预编译我的应用程序中的 cshtml 文件的可靠解决方案,以便它们不会在第一个浏览器请求时生成?我什至在我的 web 配置中进行了应用程序初始化并安装了所需的 IIS 功能,甚至可以看到它确实向我的应用程序发出了“假”请求,但是 cshtml 文件不会根据该“假”请求进行编译。对不起,如果我附上了很多信息,但似乎我在这里问的每个问题我都没有提供我的实际问题...=(希望这个问题可以达到目的。谢谢!
更新
上面的最后一篇文章建议更改 csproj 文件,因此我也尝试过并附上该文件的屏幕截图。
以及文件底部的 Action
将“temp”更改为“/”也无济于事。
更新 2
因此,在周末离开计算机后,我今天早上注意到我选中了“允许预编译的站点可更新”。取消选中该值后,我开始在 …
该A()宏只会在 MSVC 上扩展,而不会在 GCC/Clang 上扩展,除非A()带有前缀,例如Test A().
通过在-E( /E) 标志 ( Godbolt.org )下运行以下代码段:
#define A() HelloWorld::
#define B() ::
A()
B()
Run Code Online (Sandbox Code Playgroud)
我们看到 MSVC 给出了以下输出:
HelloWorld::
::
Run Code Online (Sandbox Code Playgroud)
而 GCC/Clang 给出了不同的输出:
::
Run Code Online (Sandbox Code Playgroud)
但是然后运行这个片段:
#define A() HelloWorld::
A()
Test A()
Run Code Online (Sandbox Code Playgroud)
在所有 3 个编译器上为我们提供以下信息:
HelloWorld::
Test HelloWorld::
Run Code Online (Sandbox Code Playgroud)
为什么 GCC/Clang 输出缺少第一行?为什么它在Test A()写入时正确扩展所有事件?这是在标准中明确定义的,还是特定于编译器的?
precompile ×10
javascript ×3
eclipse ×2
heroku ×2
actioncable ×1
adt ×1
android ×1
angularjs ×1
appharbor ×1
asp.net-mvc ×1
assets ×1
c++ ×1
cdn ×1
clang ×1
gcc ×1
git ×1
iis ×1
jsp ×1
razor ×1
servlets ×1
templates ×1
view-helpers ×1
visual-c++ ×1