自从我在Rails中开发以来已经有一段时间了,我无法使用任何scss
样式表来处理我新创建的rails应用程序.
layouts/application.html.erb
默认<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
位于顶部.
出于测试目的,我创建了一个main.scss
文件assets/stylesheets/
,如下所示:
* {
border: 1px solid black;
}
Run Code Online (Sandbox Code Playgroud)
我认为该application.scss
文件应该抓住它的文件夹和子文件夹中的所有样式表,但事实并非如此.(奇怪的是,.js
文件加载得很好.)
我尝试过,RAILS_ENV=production rake assets:precompile
但没有做任何事情.有人可以解释它甚至做了什么吗?
我已经尝试添加*= require main
和*= require main.scss
到application.scss
.我甚至将文件ext更改为两个文件的css.我得到任何css渲染的唯一方法是直接添加代码application.scss
,我不想这样做.
请帮我解决一下这个.
我要添加更多信息,因为我得到了通用答案.我提到它是一个新的rails应用程序,所以基本的东西已经预先生成.这就是我的application.scss
样子:
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS …
Run Code Online (Sandbox Code Playgroud) 所以问题是AngularJS $routeProvider/ngRoute
不能正常工作.我无法让它.html
在其路线上显示相应的页面.GET http://localhost:3000/home.html 404 (Not Found)
当我尝试在index.ejs
页面中加载模板时,我总是得到它.
我已经尝试了很多路径.html
来加载,但我还没有成功.我甚home.html
至为应用程序中的每个文件夹创建了它,看它是否会抓取任何东西,但没有任何效果.ng-include
直接注入html时也不起作用.
/app.js 简化:原始代码使用express.router()
var express = require('express');
var app = express();
var path = require('path');
var ejs = require('ejs');
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));
app.use(express.static(path.join(__dirname, 'public')));
app.get('/', function(req,res,next) {
res.render('index', { page: 'index' });
});
app.listen(3000,function(){ console.log('3k'); });
Run Code Online (Sandbox Code Playgroud)
/views/index.ejs
<!DOCTYPE html>
<html lang="en" ng-app="App">
<head>
<meta charset="UTF-8">
<title>WHY???</title>
</head>
<body>
<div class="main">
<div ng-view></div>
</div>
<script src="/vendor/angular/angular.js"></script>
<script src="/vendor/angular-route/angular-route.js"></script> …
Run Code Online (Sandbox Code Playgroud)