问题标签 [sinatra-assetpack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - Sinatra 资产包没有将 sass 编译为 css
我有一个基本的 Sinatra 应用程序,我正在尝试使用 AssetPack 来服务我的资产。我目前只尝试从 sass 文件中提供 css 文件。我包括sass gem。
我的 app.rb 文件中的片段:
我正在使用苗条,所以我有:
无论出于何种原因,都不会生成 css 文件,只提供 sass 文件。
任何帮助将不胜感激!
ruby - Sinatra App 中的分段错误(核心转储)错误
Segmentation fault (core dumped)
每当我运行我的 Sinatra 应用程序并SystemStackError stack level too deep
尝试加载索引页面时,我都会得到一个。它立即关闭应用服务器(瘦)。我无法弄清楚我哪里出错了,也找不到任何类似的错误。Sinatra Assetpack 似乎有问题。当我注释掉 layout.haml 文件中的行时,我没有收到此错误。这是我的主要应用程序文件:
这是我的 index.haml 文件:
这是我的 layout.haml 文件:
这是我的 Gemfile:
这是使用调试运行时的错误:
ruby - Sinatra 加载错误
在开发 Sinatra 应用程序时,我遇到了一个特殊的问题,希望有人可以帮助我解决。我正在运行 ruby 1.9.3,当我使用ruby myapp.rb
它运行我的应用程序时,它在本地主机上运行,但出现错误。但是,当我尝试时sudo ruby myapp.rb
,它给了我一个无法加载 Sinatra 的错误,当它向我显示它从中提取 sinatra 的库时,它是 /usr/lib/ruby/1.9.1
我认为这就是我的问题所在,但我不知道如何改变这条路。我是否在我的应用程序或终端中执行此操作来更改 ruby 的路径,有什么帮助吗?
sinatra - Sinatra,指南针 + 资产包
所以我试图在 Sinatra 应用程序中使用 Compass 和 Asset Pack。我的设置如下:
这条线set :scss, Compass.sass_engine_options
似乎启用了 Compass,但这会覆盖下一行,然后我不能使用 SCSS 部分,因为它不知道加载路径。将它们放在同一行具有相同的效果。
TL:DR:我无法让 Compass 和 SCSS Partials 与 Asset Pack 一起使用
ruby - Sinatra 应用程序 - 在哪里放置 Zurb 基金会?
我正在关注这个sinatra 配方(Foundation 框架 + Compass),并且在实施 Foundation 时一直不确定我应该将这些文件放在哪里。
我的 Sinatra 应用程序具有以下结构:
通过foundation new project_name
从运行sinatra_app
,我的应用程序中有文件夹project_name
。
如果我只是将这个文件夹命名为“基础”并让它相应地构建资产,我只是有点困惑。
或者它是否应该实际存在于我的 sinatra 应用程序之外并让 compass 将资产构建到 sinatra 应用程序文件夹结构中?
从本教程来看,似乎所有的基础文件都只存在于 sinatra 应用程序的实际根目录中,这似乎一点也不好吗?(基金会生成的所有额外文件——human.txt、index.html、README.md 等)
sass - Sinatra Asset Pack 不是 Cache Busting @imported 文件
我有一个带有application.scss文件的 Sinatra 应用程序,该文件@import
是该应用程序的所有其余 SCSS 文件。它使用 Sinatra 资产包。在layout.erb文件中,我有:
每次 application.scss 文件更改时, Sinatra 都会更改已编译 CSS 文件的 URL 。不幸的是,当任何ed 文件更改时,它不会表现出这种缓存清除行为。@import
有没有办法在 Sinatra 中解决这个问题?
ruby - CoffeeScript 不能与 Sinatra AssetPack 一起编译
我正在使用 Sinatra AssetPack 来管理模块化 Sinatra 应用程序中的资产。它适用于 JS 文件,但不能编译 CoffeeScript。
我在 app.rb 的 AssetPack conf 中添加了一行,js :app, ['/js/app.coffee']
就像在 Github 上的 AssetPack 自述文件中一样。以某种方式附加到index.slim,但文件不可访问。<script src='app.coffee'></script>
Gem coffee-script 列在 Gemfile 中,安装了 Node 和 coffee-script npm 包。
我做错了什么?
ruby - 当通过 vagrant 部署到 VM 并由 varnish 配置并作为守护进程运行时,sinatra 应用程序在生产模式下停止
我有一个 sinatra 应用程序,当我在生产中运行它时,它的行为很奇怪。
第一个请求有效,资产下载和页面加载。如果您刷新页面,但请求只是停止,并且没有任何内容被注销到日志文件。
我正在使用 sinatra-asset-pack 运行,并且在启动它之前我确实预编译了资产。
我会发布代码,但我不确定解决问题需要什么
编辑:它在我自己的机器上运行良好,但是当我使用 vagrant 将它部署到 VM 时,它只是在生产模式下停止,但在开发模式下它很好。
编辑:我能够让它吐出这个错误:
Errno::EPIPE 管道损坏@io_write -
并将其缩小到一个动作,但是在动作中发布代码是没有意义的,因为它不会记录任何内容,并且动作的第一行是一个日志动作,所以我不确定动作是否会运行;记录是在问题发生后添加的,所以不管它是什么,我不认为是这样。
编辑:错误实际上发生在这里(sinatra的base.rb(1144):
编辑:好的,所以当我手动运行部署命令时它工作正常;奇怪的是,尽管服务器的输出被分叉了,但它仍然被输出到终端,我想知道这是否是问题所在。损坏的管道是不再存在的终端(当通过厨师部署时),因此它正在破坏......也许?
utf-8 - 无法通过 ansible 预编译 sinatra 资产
我正在通过 ansible 部署我的 sinatra 项目,其中一项任务是预编译资产。
起初我对如何正确初始化 rbenv 产生了疑问。
然后,我所做的是:
但后来我得到了错误Encoding::UndefinedConversionError at assets/application.js
当我通过 ssh 连接到服务器并运行时bundle exec rake assetpack:build
- 一切正常。所以,我推测,这与设置环境变量有关
lookup('env', 'LANG')
说是,"msg": "ru_RU.UTF-8"
但 echo $LANG 说它是“C”(看那里)。
看这个问题。它说:
Ansible 在不需要它的模块上将 LANG 设置为 C
Ansible 模块自动设置“$LANG=C”。
添加环境变量没有给出预期的结果:
同时,shell 模块似乎一无所知bundle
,所以这也不起作用:
我尝试了一大堆命令,例如export LANG=ru_RU.UTF-8
,command
模块,shell
模块,但没有任何帮助,我所有的尝试都失败了。
我真的不知道如何解决这个问题。
需要帮忙!
ruby - Sinatra 资产管道 gem,编译为空的 .json
我正在尝试让sinatra-asset-pipeline为我的 Sinatra 应用程序工作,这样我就可以让我的资产显示在 Heroku 上。我遵循 MVC 模式,目前正在将我的资产存储在project-folder/assets/stylesheets/application.scss
. 我的config/environment.rb
文件包含所有 gem 要求:
我在我的ApplicationController
.
我的Rakefile包含运行 rake 任务的代码
当我跑步时,rake assets:precompile --trace
我得到:
这会创建文件夹/public/assets/.sprockets-manifest-107e377ad857386671d3a9b56a890322.json
。这个文件只包含这行代码:{}