安装scss编译器 有两种方法,一种使用网上说的安装ruby,一种是利用node.js 的node-sass ruby官网:https://rubyinstaller.org/downloads/...+scss文件的File Watchers ? 填写内容 ?...Output paths to refresh 输出后刷新文件 我的具体配置 此处我这里的参数配置是:将该scss/.scss文件编译的css文件放到css文件夹 也就是说,在scss目录新建....scss文件,然后ws会自动编译到css/.css。...文件编译的css文件放到css文件夹 Output paths to refresh: $FileDir$ 以上$FileDir$默认即可吧~~ 安装自动前缀 执行以下两个命令 分别是安装autoprefixer
有时我们需要能够编译多个.scss文件成CSS文件。我们可以在Node globs的帮助下完成(globs参数是文件匹配模式,类似正则表达式,用来匹配文件路径包括文件名)。...second-stylesheet.png 我们现在可以通过一个命令,管理所有Sass文件编译成CSS文件。但是问题是,有什么可以让我们不用每次都手动运行gulp sass,将Sass编译成CSS?...baseDir:'app' }, }) }) 我们也需要稍微改变我们的sass任务,让Browser Sync能够注入新的CSS样式(更新CSS)到浏览器,当sass任务运行时。...gulp.task('watch',['browserSync','sass'], function(){ gulp.watch('app/scss/**/*.scss',['sass']);...2.使用Sass编译器 3.当文件改变后,自动重新加载浏览器 让我们进入下一届,讨论优化资源文件的部分。
mix, 它目前可以做的事情就是编译 src/app.js 到 dist/, src/app.scss 到 dist/, 看起来非常简洁优雅。...这里可以配合Browsersync,它可以自动监控你的文件变化,并将更改注入浏览器,而无需手动刷新。...npm run production 将编译我们所有的静态资源,并产生一个生产就绪的构建。它将运行所有的Mix 任务,并且会压缩文件输出。...常用的case 版本控制和清理缓存 开发者经常会使用在编译后的资源文件名加上时间戳或者是唯一的token作为版本号,强迫浏览器加载全新的资源文件,而不是缓存的文件。...,并将所有的--config引用指向新复制的配置webpack.config.js。
前言 我们要通过一个实际案例,去实现一个自动化的网页构建的自动化工作流 构建用demo:gitee.com/liuyinghao1… 本次目标 es6 转换成 es5 图片压缩 scss编译 模板html...编译 安装gulp yarn add gulp --dev 复制代码 安装完毕之后我们就开始进入正题 样式编译 首先我们使用gulp进行scss的样式编译 gulpfile.js const { src...', {base: 'src'}) .pipe(dest('dist')) } 复制代码 如此之后会依照src/assets/styles/的基准输出assets/stylesxxx.scss文件...babel({ presets: ['@babel/preset-env']})) .pipe(dest('dist')) } module.exports = { script } 复制代码 模板文件的编译...= require('browser-sync') const bs = browserSync.create() ... const serve = () => { bs.init({
这两种情况如下图: 从项目所在的当前目录下加载,这个又细分为三种情况: 从项目当前目录下加载配置文件。 从项目当前目录下的 config 文件夹中加载配置文件。...从项目当前目录下的 config 文件夹的子文件夹中加载(孙子文件夹不可以)。...这三种情况如下图: config 目录下的配置文件可以被加载,config/a 目录下的配置文件也可以被加载,但是 config/a/b 目录下的配置文件不会被加载,因为不是直接子文件夹。...如果你不想让自己的配置文件叫 application.properties 或者 application.yaml,那么也可以自定义配置文件名称,只需要在项目启动的时候指定配置文件名即可,例如我想设置我的配置文件名为...,通过 spring.config.name 属性锁定配置文件的文件名。
可以理解为,一个硬盘,里边放的各种整理好的、适用于各种功能的且不重复的文件夹(插件),然后我们需要啥,就去里边摘下来。...用法:盘符字母(大写)加冒号 dir 列出文件列表; mkdir newfile_name 创建新的子目录文件夹newfile_name; cls 清空命令提示符窗口内容。...然后package.json文件里也有了“devDependencies”依赖项 8.配置gulpfile.js(9,8可以反过来,可以js文件中需要什么插件再装什么插件) 在本地项目根目录下新一个.../scss/*.scss') 4 5 .pipe(sass()) 6 7 .pipe(gulp.dest('..../*.scss', ['sass']); 17 gulp.watch("*.html").on('change', reload); 18 }); 19 20 //编译sass。
它包含一个将SCSS文件编译为 cs的简单任务。它使用一个名为 gulp-sass插件,这个插件基于libsass。...运行以下命令并观察,/ scss文件夹中的所有SCSS文件都将编译到相应目录中的CSS中: gulp scss 请注意,在本示例中,我们指定了要运行的任务。...为了启动它,请使用以下命令: gulp 这个命令启动名为 “default”并开启watcher.的任务,此时,您可以编辑任何SCSS文件,并重新编译CSS文件。...现在,你可以为其他自动化流程创建新的观察者,例如JavaScript连接,代码提示,CoffeeScript编译或其他可能出现的任何操作。...以下是几个杰出的例子: BrowserSync BrowserSync注入CSS,JavaScript,并在进行更改时自动刷新浏览器。
但是,Grunt 的构建速度让我有点苦恼,即使是编译 sass 也需要花上一段时间。于是,我开始试用 gulp,结果意外地让我惊喜。...下面代码是使用 gulp 初次来编译 sass,由于一直都有点习惯了 Grunt 那编译速度单位为秒级别的速度,刚输入命令还没反应过来,就已经以毫秒级的速度编译完了。...gulp.task('sass:dev', function() { return gulp.src('dev/sass/**/*.scss') .pipe(sourcemaps.init...后来,我发现了 Browsersync。简直就像是找到了宝藏一样,同样支持 grunt 和 gulp。...直接把 127.0.0.1:3000 链接换成 cloud.xxx.com:3000 即可,Browsersync 实际就是监听 3000 端口来实现刷新浏览器。
laravel-elixir-webpack-official'); require('laravel-elixir-vue-2') elixir((mix) => { mix.sass('app.scss...laravel-mix'); mix.js('resources/assets/js/app.js', 'public/js') .sass('resources/assets/sass/app.scss...', 'public/css'); mix.browserSync({ proxy: 'localhost:8000' }); resources/assets/js文件夹下创建page文件+api.js...i element-ui -S 安装vant cnpm i vant -S 安装 babel-plugin-import 插件,babel-plugin-import 是一款 babel 插件,它会在编译过程中将...BundleAnalyzerPlugin(), ], }).js('resources/assets/js/app.js', 'public/js') .sass('resources/assets/sass/app.scss
http-server 通过httpserver启动页面 http-server 打开插件 这里不用ctrl+s保存,页面也能自动刷新 可以修改css,less,scss...--save-dev 写脚本: var gulp = require("gulp"); var livereload = require("gulp-livereload"); var browserSync...console.log(file); gulp.src(file.path).pipe(livereload()) }) }); gulp.task('browser-sync',function(){ browserSync.init....livestyle:http://livestyle.io 2.livereload : http://livereload.com 3.browser-sync : http://www.browsersync.io.../atom/atom/releases/tag/v1.24.0 打开atom的package install页面 查找安装emmet,时间有点长 如果碰到这个报错,一般是编译用的
LESS编译 压缩 合并 * 2....LESS编译 压缩 --合并没有必要,一般预处理CSS都可以导包 gulp.task('style', function() { // 这里是在执行style任务时自动执行的 gulp.src(...({ stream: true })); }); var browserSync = require('browser-sync'); gulp.task('serve', function...*',['image']); gulp.watch('src/*.html',['html']); }); 附录: gulp常用插件: gulp-less:编译less gulp-concat:合并代码...gulp-uglify:压缩js文件 gulp-rename:重命名文件 gulp-cssnano:css压缩 gulp-htmlmin:压缩html gulp-imagemin:压缩图像 brower-sync
安装依赖 yarn add -D browser-sync browser-sync-webpack-plugin 在 webpack.mix.js 文件中调用 mix.browserSync() 启动...的 open 选项设置的为 true ,在首次编译完成之后浏览器会自动打开一个页面,否则需要手动打开,默认的是 http://localhost :3000,具体依所设置的 Browsersync 参数而定...修改相关文件关保存,webpack 将会自动编译修改的文件,完成之后页面将自动刷新。(如果修改的是后端文件,则直接刷新) ?...webpack 自动重新编译。...打开页面,修改页面引用的前端资源(如 js,css)并保存,页面将自动刷新 因为使用 laravel-mix 编译,一般修改 resource/ 目录下的文件,但实际上直接修改 public/ 目录中的文件也是可以触发刷新的
Browsersync能让浏览器实时、快速响应您的文件更改(html、js、css、sass、less等)并自动刷新页面。...安装 BrowserSync您可以选择从Node.js的包管理(NPM)库中 安装BrowserSync。...如果你的文件层级比较深,您可以考虑使用 **(表示任意目录)匹配,任意目录下任意.css 或 .html文件。...Image.png 自动编译五分钟上手放在gulp里============================= 1.初始化: npm init ?.../static" } }); //监听某文件的改变 gulp.watch(".
前端开发工程师还可以用自己熟悉的语言来编写任务去lint JavaScript和CSS、解析模板以及在文件变动时编译LESS文件(当然这些只是一小部分例子)。...假设js目录下有个app.js文件,那么一个新的app.js将被创建在编译目录下,它包含了js/app.js的压缩内容。想一想,到底发生了什么? 我们只在gulpfile.js里做了一点事情。...在上面的例子中,gulp.src()函数用字符串匹配一个文件或者文件的编号(被称为“glob”),然后创建一个对象流来代表这些文件,接着传递给uglify()函数,它接受文件对象之后返回有新压缩源文件的文件对象...Grunt不使用数据流,而是使用文件,对文件执行单个任务然后保存到新的文件中,每个任务都会重复执行所有进程,文件系统频繁的处理任务会导致Grunt的运行速度比Gulp慢。...大多数插件的使用都很方便,它们都配有详细的文档,而且调用方法也相同(通过传递文件对象流给它),它们通常会对这些文件进行修改(但是有一些插件例外,比如validators),最后返回新的文件给下一个插件。
依赖包及目录结构部分均有所更改,更多详细内容,敬请参考原文及作者 Github 我们在上一篇博文 Gulp 前端自动化构建工具 中,已经对 Gulp 有了初步的了解,我们通过将所有任务写到 gulpfile.js 文件中进行编译...(config.options)) .pipe(gulp.dest(config.dest)); }); 在这里,src 和 dest 路径相同的意义在于,我们将经过审查编译压缩过后的代码进行编码...jshint.reporter(stylish)) }) 图片 图片 通过引入 browserify 插件,使得我们可以在浏览器中加载 Node.js 模块,而 watchify 插件可以加速 browserify 的编译...Browsersync 提供的静态服务器,对我们的 html 文件进行测试,也可以使用代理服务器,来对 php 文件进行测试,而我们在这里使用的静态服务器 // browser-sync.js const.../config').browsersync; gulp.task('browsersync', ['build'], () => { browsersync.init(config.development
在我理解看来,一直把LESS,SASS还有其他的比如PostCSS看成一种工具,没当成语言来看待,就是为了让CSS可编程,更方便的去写CSS,更好的管理CSS,然后编译生成CSS。...使用GULP,可以完成文件压缩,JS混淆,编译SASS,LESS 等,基本上你想要的功能,都可以通过代码实现。在项目,我还用GULP来下载文件,更新本地的JSON数据。...Browsersync官网:https://www.browsersync.io/ 光说不练假把式 - 手把手带你起飞 STEP-1:准备好各种环境 首先你得有nodejs环境,然后你得全局安装GULP...,http-server,browsersync,如下所示: ?...STEP-3:查看仓库README文件 在终端运行: npm install(安装超时的同学,建议使用淘宝npm源,具体可见CNPM) ?
/TestChidren"; import "@/assets/css/index.scss"; // styName写在 "/assets/css/index.scss" 中即可 class Test...文件 安装node-sass就可以,因为有个node-sass,scss文件才能在node环境上编译成css文件。...然后编写scss文件 .App{ background-color: #282c34; .header{ min-height: 100vh; color: white; }...} 第四种:在组件中引用[name].module.css文件 优点: 可实现CSS的局部作用域,并且可复用 重点: 1、选择器驼峰命名 2、样式文件后缀名为.module.css 3、在js文件中导入并使用...注: 1、css modules会默认给类名加上一个唯一标识符(哈希字符串),从而实现类名不重复 2、class名称需要使用驼峰命名,不支持 '-' 等连接符 命名规则: xxx.module.css
,这里主要说一下 browserSync。...browserSync 主要用来自动刷新浏览器。首先我们配置需要监听的文件,当这些文件发生改变后,调用 browserSync 使浏览器自动刷新页面。...gulp.task('browserSync', function () { browserSync({ server: { baseDir: '.'...}, port: 80 }) }); // 配置需要监听的文件,当这些文件发生变化之后 // 将调用 browserSync.reload 使浏览器自动刷新 gulp.task.../挂载之前 mounted 模板编译/挂载之后 mounted 模板编译/挂载之后(不保证组件已在 document 中) beforeUpdate 组件更新之前 updated 组件更新之后 activated
这时候我注意到一个问题,就是我使用的热更新插件 hexo-browsersync 在一些文章下没有热更新的提示,而且这些文章恰好就是渲染错误的文章。...于是我来到插件的 issue 下,看有没有新的发现 —— 真的有。就是这篇 issue,大概浏览了一遍,发现大家都有和我一样的问题,不管是环境还是症状,都一模一样(流下了同病相怜的泪水)。...具体的原因,暂时还没有特别明确的解释,但 issue 里有人说是文件流传输过程中编码出错导致的。正常情况下不使用热更新插件还看不出这个错误,在使用之后就暴露这个问题了。...总结一下,如果你: 使用了 hexo-browsersync 插件 hexo s 后检查文章,发现渲染不正常 可以尝试: 卸载 hexo-browsersync 插件。...貌似新版的 hexo 已经支持热更新了,所以不再需要这个插件了 保留插件,在 hexo 根目录的 config.yml 文件中添加配置(黑魔法): server: compress: true 完美解决
后续有扩展空间,可以将配置放入管理端中,通过管理端传入颜色的配置再进行编译生成CSS文件。...来替代LiveReload,Browsersync的功能更全更方便。...这里好处我不一一列举,可以查看 Browsersync官方文档,有更详细的介绍。 其中也遇到了一些问题,因为是HTML和CSS都是编译生成,得需要去动态监听生成文件的改变,进行自动刷新。...我们不能每次只写自己的HTML做好自己的事,重构是提供整张页面给前端或者后端,在庞大且复杂的项目中后续在开发页面时,每增加一个模块都需要和对接人员沟通清楚,可能还得指出具体位置; 组件强调复用,在重构新的页面时...增加了重构的开发时间; 实现方式: HTML:Gulp-content-includer 将静态HTML进行模块化开发,当开发人员拿到重构页面时候看到include模块, 清晰的知 道页面中引用了那些新模块
领取专属 10元无门槛券
手把手带您无忧上云