- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 Aurelia 和一般的新 Web 开发(nodejs、gulp 等)还很陌生。
感谢 Aurelia CLI,我可以使用 Typescript + SASS 轻松地为 Visual Studio Code 设置一个不错的 Aurelia 元素。我认为使用 scoped css 是个好主意(但如果这不是个好主意,请告诉我 :)。已经有很多关于这个主题的信息,但很难找到我可以实际使用的东西。所以我想我会按照以下方式自己做:
我曾尝试使用样式范围的 html 标签,但这并未得到浏览器的广泛支持(并且似乎已从规范中删除?)并且我已经尝试了一些方法(我忘记了我到底尝试了什么),如所描述的在
https://github.com/bryanrsmith/aurelia-binding-loader
与:
<template>
<require from="styles.css!module!bind" as="styles"></require>
<div class.one-time="styles.first">First</div>
<div class.one-time="styles.second">Second</div>
</template>
这很慢。
我对这一切的了解非常有限,我认为它是从 CSS 到 JS 对象的转换,之后标签的类绑定(bind)到 JS 对象中的样式。
我认为在构建时转换为 JS 是有意义的。因此,凭借我非常有限的知识,我按以下方式更改了 process-css.ts:
import * as gulp from 'gulp';
import * as sourcemaps from 'gulp-sourcemaps';
import * as sass from 'gulp-sass';
import * as project from '../aurelia.json';
import { build } from 'aurelia-cli';
import * as path from "path";
import * as fs from "fs";
import * as rename from "gulp-rename";
import * as postcssmodules from "postcss-modules";
import * as postcss from "postcss"
import * as postcssJs from "postcss-js"
import * as tap from "gulp-tap";
export default function processCSS() {
return gulp.src(project.cssProcessor.source)
.pipe(sourcemaps.init())
.pipe(sass().on('error', sass.logError))
.pipe(tap(handleCss))
.pipe(build.bundle())
};
function handleCss(cssFile, t) {
// get the path of the html file
var baseFilename = path.basename(cssFile.path, '.css');
var baseFilepath = path.join(path.dirname(cssFile.path), baseFilename);
var htmlFilepath = baseFilepath + '.html';
// check if the html file exists
if (fs.existsSync(htmlFilepath)) {
var root = postcss.parse(cssFile.contents.toString());
var cssAsJson = postcssJs.objectify(root);
var s = JSON.stringify(cssAsJson);
cssFile.contents = Buffer.from(s);
}
}
(添加 handleCss)。
这还没有结束。具有样式的新对象必须以相同的名称添加到包中,但扩展名为“.js”。 我怎样才能以一种好的方式做到这一点?
如果这可行,那就太好了,但它仍然仅限于范围内的 css 类,而不是 css 元素。我想到的另一种可能性是,也许可以在构建时将 component.scss 样式插入到 component.html 中(例如设置元素的样式属性)?如果是这样,如何/应该这样做?这样做有什么缺点吗?
很抱歉,如果这篇文章中有“愚蠢”的问题,基本上这都是非常新的,很难找到从哪里开始。
谢谢!
最佳答案
如果您将 Aurelia 与 Webpack 结合使用,则可以使用 ConventionDependenciesPlugin这样 css/scss 文件就像 js 和 html 一样被自动包含。配置后,您不再需要 require
样式表。请注意,如果您在 html 和 js 文件之后添加 css/scss 文件,您可能需要重新启动 Webpack watch,因为 ConventionDependenciesPlugin
有时不会获取依赖文件。
关于css - Aurelia,作用域 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41742607/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!