- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我在这个 Angular SPA 上工作了一段时间,遇到了一个有趣的现象,我希望有人能帮我弄清楚。 Safari 会给我 Did not parse stylesheet at 'http://localhost:4000/teams/css/style.css' because non CSS MIME types are not allowed in strict mode
是一样的在 Chrome 上。这只会在我加载一个状态时发生,该状态的 url 包含其中的参数,如下所示:localhost:4000/teams/:teamname
。其中 :teamname
是参数。在 url 中不包含参数的每个其他页面上,即localhost:4000/login
CSS 将完美加载。
有人知道这是怎么回事吗?
这是我的代码:
应用模块和配置:app.js
(function() {
'use strict';
angular.module('myapp', ['ui.router'])
.config(function($stateProvider, $urlRouterProvider, $httpProvider, $locationProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('sprint', {
url: '/teams/:teamname/projects/:projectId',
templateUrl: 'js/views/project.view.html',
controller: 'projectCtrl',
controllerAs: 'project',
})
.state('register', {
url: '/register',
templateUrl: 'js/views/register.view.html',
controller: 'registerCtrl',
controllerAs: 'register'
})
.state('login', {
url: '/login',
templateUrl: 'js/views/login.view.html',
controller: 'loginCtrl',
controllerAs: 'login'
})
.state('teamDashboard', {
url: '/teams/:teamname',
templateUrl: 'js/views/teams/teamDashboard.view.html',
controller: 'teamDashboardCtrl',
controllerAs: 'teamDash',
resolve: {
projectStats: function($stateParams, teamsService) {
return teamsService.getProjectStats($stateParams.teamname);
}
}
})
.state('home', {
url: '/',
templateUrl: 'js/views/home.view.html',
controller: 'homeCtrl',
controllerAs: 'home'
});
$locationProvider.html5Mode(true);
});
})();
teamDashboard.controller.js
(function() {
'use strict';
angular.module('myapp').controller('teamDashboardCtrl', teamDashboardCtrl);
function teamDashboardCtrl(projectStats) {
var vm = this;
vm. projectStats = projectStats;
}
})();
teamDashboard.view.html
<div class="team-dashboard">
<div class="container">
{{teamDash.projectStats}}
</div>
</div>
index.html
<!DOCTYPE html>
<html lang="en" data-ng-app="myapp">
<head>
<meta charset="UTF-8">
<title>My App</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/css-deps.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
<base href="/">
</head>
<body>
<div data-ui-view data-ng-controller="applicationController as app"></div>
<script type="text/javascript" src="js/deps.min.js"></script>
<script type="text/javascript" src="js/app.min.js"></script>
</body>
</html>
我正在使用 gulp 分别为 js 和 css 连接依赖项和我的逻辑。但是,这两个样式表都不会加载。
gulp文件.js
'use strict';
var gulp = require('gulp'),
autoprefixer = require('gulp-autoprefixer'),
plumber = require('gulp-plumber'),
uglify = require('gulp-uglify'),
sourcemaps = require('gulp-sourcemaps'),
concat = require('gulp-concat'),
ngAnnotate = require('gulp-ng-annotate'),
sass = require('gulp-sass'),
watch = require('gulp-watch'),
browserSync = require('browser-sync'),
reload = browserSync.reload,
express = require('express');
gulp.task('express', function() {
// require('./bin/www');
var app = require('./app');
app.listen(4000);
});
gulp.task('js', function() {
gulp.src(['./bower_components/jquery/dist/jquery.js',
'./bower_components/bootstrap/dist/js/bootstrap.js',
'./bower_components/angular/angular.js',
'./bower_components/angular-ui-router/release/angular-ui-router.js',
'./bower_components/angular-bootstrap/ui-bootstrap-tpls.js',
'./bower_components/lodash/lodash.js',
'./bower_components/ev-emitter/ev-emitter.js',
'./bower_components/get-size/get-size.js',
'./bower_components/unipointer/unipointer.js',
'./bower_components/unidragger/unidragger.js',
'./bower_components/draggabilly/draggabilly.js'])
.pipe(sourcemaps.init())
.pipe(concat('deps.min.js'))
.pipe(ngAnnotate())
.pipe(uglify())
.pipe(sourcemaps.write())
.pipe(gulp.dest('./public/js'));
gulp.src('app_client/**/*.js')
.pipe(sourcemaps.init())
.pipe(concat('app.min.js'))
.pipe(ngAnnotate())
.pipe(uglify())
.pipe(sourcemaps.write())
.pipe(gulp.dest('./public/js'))
.pipe(reload({stream: true}));
});
gulp.task('css-deps', function() {
gulp.src([
"./bower_components/bootstrap/dist/css/bootstrap.min.css",
"./bower_components/font-awesome/css/font-awesome.min.css"
])
.pipe(concat('css-deps.css'))
.pipe(gulp.dest('./public/css'));
gulp.src("./bower_components/bootstrap/dist/css/bootstrap.min.css.map")
.pipe(gulp.dest('./public/css'));
gulp.src('./bower_components/font-awesome/fonts/*')
.pipe(gulp.dest('./public/fonts'));
});
gulp.task('css', function() {
gulp.src(['./app_client/sass/*.sass', './app_client/sass/**/*.sass', './app_client/sass/!partials'])
.pipe(plumber())
.pipe(sass.sync().on('error', sass.logError))
.pipe(autoprefixer())
.pipe(gulp.dest('./public/css'))
.pipe(reload({stream: true}));
});
gulp.task('html', function() {
gulp.src('./app_client/**/*.html')
.pipe(gulp.dest('./public/js/views'))
.pipe(reload({stream: true}));
gulp.src('./public/index.html')
.pipe(reload({stream: true}));
});
gulp.task('browser-sync', function() {
browserSync({
proxy: 'http://localhost:4000',
open: false
});
});
gulp.task('watch', function() {
gulp.watch('./app_client/**/*.js', ['js']);
gulp.watch('./app_client/sass/**/*.sass', ['css']);
gulp.watch(['./app_client/**/*.html', './public/index.html'], ['html']);
});
gulp.task('default', ['express', 'js', 'css-deps', 'css', 'html', 'browser-sync', 'watch']);
app.js 快速服务器
require('dotenv').load();
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var passport = require('passport');
var database = require('./app_db/models/index');
require('./app_db/config/passport');
var routes = require('./public/routes/index');
var routesAPI = require('./app_db/routes/index');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'public'));
app.set('view engine', 'jade');
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(passport.initialize());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/api', routesAPI);
app.use(function(req, res) {
res.sendFile(path.join(__dirname, 'public', 'index.html'));
});
// error handlers...
module.exports = app;
版本: Node 4.4.0,npm 2.14.20, express 4.13.1, Angular 1.5.2,
我使用的是 OS X 10.11
任何帮助都会很棒
最佳答案
尝试从 gulp 文件中删除“use strict”(它定义了严格模式)并运行 gulp 任务。
关于javascript - CSS 无法正确加载带有参数的 $stateProvider 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36705667/
我正在尝试将 $stateProvider 用于我的 url 路由。我想如果我使用$stateProvider,那么我就不需要使用$routeProvider了。这个对吗?我能够让我的 url 路由与
好吧,这个问题有点长,但我觉得我已经尝试了一切,所以如果可以的话,我希望你能帮助我:) 所以基本上我的系统有两种用户类型:Admin 和 Client 这些类型绑定(bind)到模板 tpl/app.
我是 Angular JS 的初学者,最近尝试了 $stateProvider,引用了一个教程-eggHead。从下面找到代码: 我没有得到正确的回应。 index.html
我真的搞不懂为什么这个标记不能识别我的 $stateProvider? Uncaught Error: [$injector:modulerr] Failed to instantiate modul
我一直在寻找这个难题的好答案,无论是routeProvider还是不行。 似乎$ routeProvider即将终止,并替换为$ stateProvider,不幸的是,我不知道此语句的准确性,而且st
我只是 angularjs 的初学者。我在下面的测试项目中没有看到任何错误和结果。索引.html User Auth
使用 angular-ui-router,如何使用 otherwise method上$stateProvider或者我该如何使用它? 最佳答案 您不能仅使用$stateProvider。 您需要注入
考虑这段代码: bank.config(function($stateProvider) { $stateProvider .state('main.bank', { url:
在我的主 index.html 文件中,我有以下简单标记... 在我的 app.js 中,我使用 $stateProvider 创建路由,以便我可以显示某些页面... app.confi
我刚开始更改其他人的一些代码,并尝试添加一个带有 Controller 的简单 html。我的问题是,我的 html 不会加载,如果我导航到它.. 系统只会显示:正在加载... 这是 html: t
我刚刚开始迁移到 AngularJS,并且 angular-ui/ui-router 中的 $stateProvider 已经出现问题框架。这是我到目前为止所拥有的: angular .mod
我有一个看起来像这样的 View : Data Package Management
我只是有 Angular 路线的问题。我有一个具有 4 个不同 View 的单页应用程序。我正在使用 $stateProvider 的 ui.router。主视图在路线上:https://testsi
我的页面上有如下按钮: 单击后我想使用 ui-sref 更改状态。我目前处于/status 状态,并且我想进入/status/{maId} 状态。 这是我的routes.js (functi
.controller('myCtrl', function($scope,$localstorage,$stateProvider, $urlRouterProvider) { $scope.g
我在我的应用程序中使用 angularJs 版本 1.4.5 和 angular-ui-router 版本 0.2.18。我注意到我的解析函数针对某个状态执行了两次。 我也尝试过使用更新的 angul
我目前正在阅读一个基于 AngularJS 1.4.8 的应用程序,该应用程序使用 AngularUI Router 0.2.15。 我注意到此应用程序有时使用依赖项 $state,有时使用依赖项 $
我得到了一个使用标准 $routeProvider 进行路由的当前 angularjs 应用程序。我打算将应用程序的一部分 $stateProvider 用作向导。 我这样声明父状态“Modal”和子
WikiApp.config(function config($stateProvider, $urlRouterProvider) { $stateProvider .state('
所以我在这个 Angular SPA 上工作了一段时间,遇到了一个有趣的现象,我希望有人能帮我弄清楚。 Safari 会给我 Did not parse stylesheet at 'http://l
我是一名优秀的程序员,十分优秀!