我有一个 RoR 项目,其中有几个 Assets ,我不希望它们在生产模式下预编译。这些资源由 JS/CSS 文件组成,目前放置在 app/assets/javascript/ism/下。
实际上,这是我不想编译的整个 ism 文件夹。尽管在开发模式下将这些文件保留在那里以便使用是有用且舒适的,但在生产模式下它们不应该在那里。在生产模式下,这些文件全部编译(外部)在一个单独的文件中,该文件由 S3 ant 提供,而不是来自 RoR/Nginx。外部编译的文件甚至是手动链接的,而不是通过 RoR。
<script type="text/javascript" src="http://s3.blabla.com/file_compiled.js"></script>
那么,最好的方法应该是什么?
最佳答案
它并不完美,但是您可以通过将 ism 目录移出 Assets 管道并静态提供它们来防止编译这些文件。例如,将 /app/assets/javascript/ism/
移动到 /public/ism/
。
如果您根本不希望这些文件出现在生产环境中,您可以简单地将 public/ism/*
添加到您的 .gitignore
文件中(假设您正在使用git)。
关于javascript - 不对某些 Assets 进行预编译 - Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17203305/