首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端开发:工具和流程

谷歌上浏览资料过程,偶然遇到ThoughtWorks的这篇文章:我们真的缺前端工程师么?...Compass/Sass Compass*一个Sass到Css的预编译工具,它还包括一些使用Sass的库,将很多样式打包成一些模块,可以自己的项目使用这些模块。...Sass一个CSS3的扩展语言,提供了丰富的特性使得编写样式容易(呵呵,CSS的基础知识还是得学,设定的曲线平缓一点,慢慢来)。...使用Emmet可以极大减少体力活的时间(不过HTML5的基础还是要学,再说一次,零基础的同学不要给自己的学习曲线设得太陡)。...例如,当HTML文件修改时,我们希望浏览器能够自动刷新,或者当scss文件修改时,我们希望能够自动触发Compass进行一次修改。

56920

Grunt :初次使用及前端构建经验

使用 Grunt 之前,项目静态文件几乎没进行压缩合并便直接放到线上,部分文件手动复制粘贴到某压缩网站进行压缩。...以上便是我目前用于项目的阶段,而此时我做进行开发的项目中主要用了类似于 thinkPHP 的框架,于是添加 css 或 js 外部文件 php 代码里添加,如下: <?...一则每次修改一下时间戳全部的静态资源都会重新被下载一次,没有修改过的文件又重新下载一遍明显一种浪费。...这一次不再使用 php 进行 include 静态文件,而是 html 里面进行 include。然后主要将 Grunt 用于两个大的方向,一个用于开发期间,一个用于上线前期打包。.../ └─ src/ ├─ css/ ├─ images/ ├─ js/ ├─ sass/ └─ view/ 开发期间,使用到的 Grunt 插件如下,watch

2.3K00
您找到你想要的搜索结果了吗?
是的
没有找到

给初学者的Gulp教程(译)

决定项目文件夹结构 Gulp对于很多文件夹结构都可以足够灵活的使用。在对项目结构进行调整之前,你只需要理解内部工作原理。...Gulp预处理 Gulp,我们可以将Sass编译成CSS,使用一个叫做gulp-sass的插件。...你可以安装gulp-sass到你的项目中,通过使用以下命令 $ npm install gulp-sass --save-dev 我们使用插件之前,我们需要从node_moudles文件夹require...second-stylesheet.png 我们现在可以通过一个命令,管理所有Sass文件编译成CSS文件。但是问题,有什么可以让我们不用每次都手动运行gulp sass,将Sass编译成CSS?...font-copy.png 现在我们有六个不同的任务gulpfile,以及他们每个都需要单独调用一个命令行,这是有点麻烦的,所以我们希望把所有都放到一个命令

4.3K20

前端工程化

第一条指令如下,意思编辑input.scss,并输出储存在output.css文件。指令只编译一次。...node-sass --watch input.scss output.css 总结:加--watch(或者-w)监听修改,并立即编译,不加--watch只编译一次 Babel Babel 转码器...等等 这样,当你src目录修改代码,写代码的时候,dist目录的代码自动转换成可以上线的代码。这就是自动化的过程。 自动化的过程就是使用命令行工具,把源代码翻译成发布代码。...还有一个需求是就是缓存,每一次更新代码,都需要自动改js文件的版本号,这也需要工具自动进行。 但是那么多工具,不能每次写代码都开着吧?...git上传忽略node_modules 1、需要创建 .gitignore 文件的文件夹, 右键选择Git Bash 进入命令行,进入项目所在目录。

1.3K30

webpack 构建基本参数配置

基本原理 每个前端项目或者说每一个HTML页面,都有着不同的静态资源,其中js文件有相互之间又有着不同的依赖,img图片需要进行图片压缩合并,css文件有需要进行浏览器样式的兼容写法,这些都可以通过webpack...但是,现在的开发一般会直接构建css的不多,像我的习惯sass 进行开发,所以用编译sass就是原来的的基础上加上 sass-loader 编译文件 file-loader 就是用于编译文件的,...所以,就可以使用webpack 的 watch 功能,修改完代码之后,就可以自动构建。 webpack 后面再增加 -watch 命令即可。...当然,小项目可马上看到效果,如果真实的项目,或者大厂接手的大型项目,那么构建还是需要一定时间,并不是改完就可以看到,因为项目很大构建起来就算是苹果电脑也要等一下才能看到效果。...代码压缩 开发完成之后,上线之前还是要把代码压缩一次,毕竟可以让体积变得更小。

84371

使用Gulp进行JavaScript自动化简易说明书

它们之间放置调用每个插件的管道(pipes ),并将转换的结果输出到下一个管道。 Globs Globs引用文件的通配符模式。globs(glob 字符串)或glob的数组用作任务源的输入。...Watchers 当检测到更改时,Watchers观察源文件以进行更改和调用任务。 gulpfile.js gulp项目的配置文件。...一旦项目的根目录,你可以使用以下命令安装所需的所有插件。 npm install 此命令读取package.json文件并安装所需的所有依赖项。...以下几个杰出的例子: BrowserSync BrowserSync注入CSS,JavaScript,并在进行改时自动刷新浏览器。...结论 在这个过程自动化教程,我演示了使用Gulp作为构建工具的优美和简单。通过遵循本教程描述的步骤,您将可以将来和您的旧项目中完全自动完成软件开发过程。

3.2K10

uniapp基础学习保姆式教程

然后我们新建一个uniapp项目,按照下图操作即可。图片然后它会默认生成项目的基本结构。图片2.4 浏览器运行图片然后第一次运行时,控制台会提示自动去下载相关的插件,下载完成后需要你再次重新运行。...,直接使用**{{属性名}}**即可计算属性基于它们的响应式依赖进行缓存的,简单地说就是只要计算的结果(参数)没有变,多次调用计算属性不会重复执行和计算,会直接返回缓存的计算结果(区别于方法,会每次执行...然而,通常更好的做法使用计算属性而不是命令式的 watch 回调。...nvue 页面暂不支持全局样式使用sass我们项目根目录下,可以看到一个 uni-scss文件。...uni-scss uni-ui提供的一套全局样式 ,通过一些简单的类名和sass变量,实现简单的页面布局操作,比如颜色、边距、圆角等。那么如何使用sass呢?

60940

Laravel Mix 初探

如果你window开发机上面进行开发,那么,你可能还需要在运行上面命令的时候带上--no-bin-links npm install --no-bin-links 什么时候该使用 --no-bin-links...我们有一个应用的根目录叫做public, 然后他的主页 index.html 使用mix.js()将resources/scripts/app.js构建到public/js/app.js, 使用...常用的case 版本控制和清理缓存 开发者经常会使用在编译后的资源文件名加上时间戳或者唯一的token作为版本号,强迫浏览器加载全新的资源文件,而不是缓存的文件。...每次都要手动打版本号确实让人不太爽,但是你可以使用 Laravel Mix de version() 它会自动为所有编译文件的文件名附加一个唯一的哈希值,从而实现方便的缓存清除功能: mix.js('...id=587234682346"> 每次构建都重新打版本号又会导致很慢,那你还可以这样 // 你可以指示版本控制过程仅在 npm run production 运行期间进行 mix.js('resources

4.3K60

前端构建工具 Gulp.js 上手实例

软件开发中使用自动化构建工具的好处显而易见的。...这样就可以文件发生变化时自动执行特定的任务,不必每次修改了文件就要回到命令行手动执行 gulp. gulp.watch('....与 CssGaga 相比, Grunt 需要自己去寻找需要的插件,每个项目进行适当的配置来完成构建工作,但是它跨平台、按需组合功能的特性较好地满足了我的需要。...第一次看到 Gulp 的介绍时,就被它的配置语法所吸引。因为对于任何一个接触过 Node.js 的人来说,这语法太舒服了。一看就懂,看一遍就会,不是吗?...暂时来说,它的插件数量还没有 Grunt 那么多那么全面,不过日常的前端任务,还是都涵盖了,而且有一些实现得比 Grunt 平台上的棒。

2K70

Gulp 工作流Sass 增量编译功能的探索

大约是上一年的这个时候,因为项目合并来到了新的项目。虽然协作的同岗位同事也是同一个组的,但使用的Gulp 工作流却有些不一样。...第一天做项目需求的时候,就遇到了一件让我瞠目结舌的事情:这里的Sass 编译一次居然要10s 以上。...后面的故事倒有些题外话了,简单概括接下来的半年发挥了一些“主观能动性”将整个工作流做了一番优化。其中涉及到的就是本文所言的Gulp 工作流Sass 增量编译功能的探索。...4 的增量编译 上面的这套方案执行后,我们执行Gulp 进程,除第一次第二次,从第三次编译开始就是增量编译了,时间也将为1s 以内。...其实说是探索,不过了解有哪些成熟的社区方案,一次次试用来找到最合适自己的方案。整体而言并不是什么牛逼的事情,但就是看你选择去忍受每一次的10s+ 还是选择去改进了。

1.4K60

怎样才能写出更好的 CSS

让我们开门见山:编写优秀的 CSS 代码件十分痛苦的事情。很多开发人员都不想做 CSS 开发。你让我干什么都行,但是 CSS 还是算了吧。 我创建应用的时候,从来都无法从 CSS 享受到乐趣。...下面介绍一些我们即将使用的功能。 变量 你可以 SCSS 中使用变量。主要的好处在于可重用性。我们假设你的应用有一组颜色。主色蓝色。...对于这里的样板,我指的是:每次开始一个新项目时,你需要写的所有CSS代码。...我们将使用它来构建你的CSS文件。 如果你一个好奇心很重的人(我希望如此,因为开发人员应该好奇!)那么,请点击这里查看 完整的文档。 现在我们知道需要用哪些工具。其余的工作简单。...", "watch": "node-sass sass/main.scss css/style.css -w", "compile": "node-sass sass

1.7K10

打造小程序组件化开发框架

2 .微信开发者工具 —> 项目 —> 关闭ES6转ES5。 3 .本地项目根目录运行wepy build --watch,开启实时编译。 主要解决问题: 1....开发模式转换 原有的小程序的开发模式下进行再次封装,贴近于现有MVVM框架开发模式。框架在开发过程参考了一些现在框架的一些特性,并且融入其中,以下使用wepy前后的代码对比图。...组件 小程序,可以利用 JS模块化 和wxml模板 ,对业务模块进行划分,实现如下效果: 但实际上不同的模块代码与事件交互都是同一个页面空间处理的,比如说 moduleA 和 moduleB 同时存在一个...setData操作时,那么通信的次数一次还是多次呢?...(兼容老配置文件 ) 1.1.3 (2016-11-28) 修复SASS编译异常导致watch结束的BUG 修复子组件修改时不会触发父组件更新的BUG 修复$invoke('../')的BUG 修复页面

6.7K20

前端二面经典vue面试题指南5

我们 vue 项目中主要使用 v-model 指令表单 input、textarea、select 等元素上创建双向数据绑定,我们知道 v-model 本质上不过语法糖,v-model 在内部为不同的输入元素使用不同的属性并抛出不同的事件...Vue 项目的编译优化(3)基础的 Web 技术的优化开启 gzip 压缩浏览器缓存CDN 的使用使用 Chrome Performance 查找性能瓶颈为什么vue组件data必须一个函数?...Vue 组件级更新,如果不采用异步更新,那么每次更新数据都会对当前组件进行重新渲染,所以为了性能,Vue 会在本轮数据更新后,异步更新视图。核心思想nextTick 。...watch 原理watch 本质上每个监听属性 setter 创建了一个 watcher,当被监听的属性更新时,调用传入的回调函数。...v-if 真正的条件渲染,因为它会确保切换过程条件块内的事件监听器和子组件适当地被销毁和重建;也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。

35330

Sass 与Compass WordPress 主题开发的运用

这篇文章主要是小讲Sass 与Compass WordPress 主题开发的运用,核心的技术Sass 自然不会提及。因此,如果你想要这篇文章对你有用的话,最好先接触下Sass。...然而在Sass 与Compass ,因为配置上的原因,一般将scss 及css 文件放在以此命名的文件夹,但WordPress 确是要style.css 放在主题根目录下。...大概你也想到了,必须借助config.rb 这个配置文件,这个文件整个Compass 项目中的作用应该也不用我多解释了吧?..." images_dir = "images" javascripts_dir = "js" 这样当你通过compass watch 监视文件改动,每次编译后就会自动移动style.css到主题根目录...一个WordPress 的Compass 插件 这个我在看《Sass与Compass实战》这本书的时候作者的Github 上看到的,Github 地址点击这里。

2K70

Gulp和Webpack对比

另外我们知道Gulp对整个过程进行控制,所以在其配置文件(gulpfile.js)配置的每一个task对项目中该task配置路径下所有的资源都可以管理。...模块化开发 所谓的前端模块化开发,我的理解就是,开发的时候,把不通的资源文件按照他的具体用途进行分类管理,使用的时候利用CommonJS、AMD、CMD等规范将这些资源文件引入到当前文件。...另外需要注意的,Webpack对于资源文件的模块化打包处理都是按js文件的处理方式处理的,例如还是上一小节,你可能发现了,我app.js入口文件中有这样一行代码 import '.....项目中通过npm安装一个**sass-loader**和**node-sass**模块,前者用来加载sass相关文件的,后者用来编译sass文件的。...但是,这个功能需要结合上一小节的``gulp.watch()``实时监控文件变化,然后执行合并压缩和sass/less编译等操作后,浏览器再刷新时才能保证我们修改后的内容。

2.1K40

Sublime插件支持Sass编译和Babel解析ES6 & .sublime-build文件初探

同事说,他的WebStorm简直太方便,自身集成了很多方便的工具,不用配置太多 哈哈哈哈但我还是喜欢用ST 如果要将Sass编译成css文件,安装相应的编译工具就行,然后命令行直接sass a.scss... watch 参数来监听文件的改变,即时编译 但更好的方案似乎:不用另外打开cmd命令行,直接即时地在编辑器/IDE解析编译 搭飞机前往:Sass支持 Babel支持 Sublime-build...,想更改就在User配置项更改覆盖即可) 二、Babel支持 一般使用Babel解码器将ES6语法解析成ES5语法,ST编辑器中装个插件 babel-sublime 即可支持Babel ?...,命令自定义了路径与文件名,规则类似一般的babel命令规则 SCSS文件下保存和JS文件下保存,触发的build命令不同的 ?...直接点击 Add watch或通过 Preferences > Tools > File watchers 新建一个监听规则,用 babel 进行即时解析语法 ?

68320

美团前端经典vue面试题总结_2023-03-01

Watch的deep:true如何实现的当用户指定了 watch 的deep属性为 true 时,如果当前监控的值数组类型。...可以具此优化 vue-cli 生产环境部署的静态资源,提升 页面 的加载速度v-once的使用场景有哪些分析v-onceVue内置指令,很有用的API,优化方面经常会用到体验仅渲染元素和组件一次,...我们项目使用 Vue 的 vue-lazyload 插件npm install vue-lazyload --save-dev入口文件 man.js 引入并使用import VueLazyload...优化 SourceMap我们项目进行打包后,会将开发的多个文件代码打包到一个文件,并且经过压缩、去掉多余的空格、babel编译化后,最终将编译得到的代码会用于线上环境,那么这样处理后的代码和源代码会有很大的差别...)将它们转为 getter/setter,并且在内部追踪相关依赖,属性被访问和修改时通知变化。

53110
领券