Grunt

前端劝退预警:JavaScript 工具链不完全指南

纵饮孤独 提交于 2020-03-11 17:06:47
经过这么多年的发展,JavaScript 早已经不是当年那个不太起眼的脚本语言。如今的 JavaScript 可以说是风光无限,在 Web 前端、移动端、服务端甚至物联网设备上都大展身手,到处都有它的身影。 在 JavaScript 语言日渐强大的同时,与其配套的开发工具也蓬勃发展。现在的 Web 前端项目,早已不是写几个 HTML 页面,加点 CSS 和 JS 就完事了。随便一个实用的项目,可能都需要用到一些框架和第三方库,以及相应的脚手架、依赖包管理、预编译、构建打包、压缩合并等等工具。纯手工完成这些任务,已经几乎不太可能了。 科学技术是第一生产力,而工具就是其中的一个体现。工欲善其事必先利其器,既然工具解放了人力,我们就应该拥抱它们。本文总结了围绕 JavaScript 的一系列工具,看看一个常见的项目到底需要用到哪些工具。 静态类型检查 JavaScript 本身是一门动态脚本语言,是弱类型的。也就是说,没有编译阶段的数据类型检查,只能在运行时确定类型。好处是比较灵活,简单易学,代码量也比较少。缺点也是明显的,就是稍不注意容易出 bug,特别是大型项目,如果没有开发规范,任由开发人员自由发挥,维护起来简直就是灾难。为了弥补这个缺陷,一些自带类型系统、可转译成 JavaScript 的语言出现了。 Flow :Facebook 出品,用 OCaml 写的 JavaScript

管理系统的前端解决方案:Pagurian V1.3发布

帅比萌擦擦* 提交于 2020-02-29 12:01:41
#Pagurian 一个管理系统的前端解决方案, 致力于让前端设计,开发,测试,发布更简单。 功能简介 Pagurian 适用于Web管理级的项目 基于Sea.js遵循CMD规范,友好的模块定义,使业务开发更简单; 集成了Datatable,Echarts等插件,调用方便,提升开发效率; 自定义UI色板,构造自己独特色彩的UI。 开发及构建 用户可以在 Pagrian 的基础上进行二次开发 目录结构 Pagurian ├── [.] .build ├── dist/ //发布目录 │ ├── lib/ │ ├── modules/ │ ├── plugins/ │ ├── resources/ │ └── templates/ ├── docs/ //开发文档 │ ├── api-datatable.md │ └── api-*.md ├── [.] node_modules/ //Grunt依赖的NodeJs 模块 ├── src/ //开发目录 │ ├── lib/ //框架依赖的基础库 │ ├── modules/ //业务模块 │ ├── plugins/ //插件模块 │ ├── resources/ //css,images,fonts │ └── templates/ //handlebars 模版文件 ├── test/ //测试 ├── Gruntfile.js

用grunt构建seajs项目遇到的各种坑

烂漫一生 提交于 2020-02-29 11:23:00
使用grunt构建seajs项目遇到的各种坑 [TOC] 使用grunt-cmd-transport转换为具名模块遇到的问题 1. 最新版本依赖不能完全提取 grunt-cmd-transport 最新版本0.5.1不能完全提取依赖,需要降级到0.4.1。 参考: https://github.com/spmjs/grunt-cmd-transport/issues/103 2. 转换后出新双反斜杠 同样需要降级到0.4.1才行。 参考: https://github.com/spmjs/grunt-cmd-transport/issues/96 http://blog.csdn.net/weizengxun/article/details/45153519 3. 会将深层次的依赖也提取到deps中 网上解决方法,不要配置 paths ,然后用 --force 强制执行。 但是如果所有require都用相对路径,也就是都以 . 开头,就不需要强制执行了。 transport 后所有依赖包括间接依赖都会提取到 deps 中。这样在 concat 的时候就不会出现模块重复或者漏掉模块的情况。 所以为了避免 concat 出现问题, require 一定要用相对路径, concat 设置 include 为 relative 参考: http://blog.csdn.net/kyfxbl

Elasticsearch7.3.2下载安装

限于喜欢 提交于 2020-02-26 02:58:11
1. es镜像下载 https://thans.cn/mirror/elasticsearch.html 2. rz上传到/usr/local 3. 解压 tar -zxf elasticsearch-7.3.2-linux-x86_64.tar.gz 4. 配置elasticsearch.yml cd /usr/local/elasticsearch-7.3.2/config cp elasticsearch.yml elasticsearch.yml.bak vim elasticsearch.yml #集群名字必须一致 cluster.name: escluster node.name: node-1 path.data: /usr/local/elasticsearch-7.3.2/data path.logs: /usr/local/elasticsearch-7.3.2/logs http.port: 9200 cluster.initial_master_nodes: ["node-1"] network.host: 0.0.0.0 #是否有资格选举为master node.master: true node.data: true http.cors.enabled: true http.cors.allow-origin: "*" #discovery.zen

资深web前端工程师总结出一套正确的学习思路

北慕城南 提交于 2019-12-30 15:29:14
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 对于零基础的学员来说:初接触一门技术,想要去了解他,并掌握它,是不是觉得有点无从下手,不知道该学习什么?该先学哪个后学哪个? 今天一位资深web前端工程师,用他多年从事web前端工作的个人经验总结出一套正确的学习思路,分享给你们! 具体来说,前端方面的知识从重要程度来排,应该先后学这些: 第一步学习基础知识 api学习,系统地学,可以看看这个方面的书,不要只零散地看网上文章,这个书钱要舍得花。前端领域,这个方面我推荐看看《javascript高级程序设计》和《html5和css3权威指南》。 第二步学习一些编程技巧 学习一些编程上的技巧,比如面向对象,组件,api设计,推荐几本书《js设计模式》《head first设计模式》和《代码整洁之道》。 第三步学习一些框架 学习除jqury之外的一两个框架,因为jqury只是个库,算不上框架,加上jqury ui也仍然只是个库。学学两个前端框架,再学一个后端框架,加强对所谓框架的理解,回头再来做框架选型,就可以有自己的理解和态度了,而不是跟风。 第四步学习一些编程工具 然后学的是工具类的,比如预处理器,打包工具,调试工具,开发工具啥的,less,sass,coffeescript,grunt,git,vim之流,晚点学不会死,甚至不学也不见得有啥问题,这种工具类的

如何获取JavaScript对象的类?

半世苍凉 提交于 2019-12-25 22:05:46
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 我创建了一个JavaScript对象,但是如何确定该对象的类呢? 我想要类似于Java的 .getClass() 方法。 #1楼 JavaScript中没有与Java的 getClass() 完全相同的对象。 大多数情况下,这是由于JavaScript是基于 原型的语言 ,而不是Java是基于 类的 语言 。 根据您需要 getClass() 的不同,JavaScript中有几个选项: typeof instanceof obj. constructor func. prototype , proto 。 isPrototypeOf 一些例子: function Foo() {} var foo = new Foo(); typeof Foo; // == "function" typeof foo; // == "object" foo instanceof Foo; // == true foo.constructor.name; // == "Foo" Foo.name // == "Foo" Foo.prototype.isPrototypeOf(foo); // == true Foo.prototype.bar = function (x) {return x+x;}; foo.bar(21); /

JavaScript开发工具大全

有些话、适合烂在心里 提交于 2019-12-22 21:01:02
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 译者按: 最全的JavaScript开发工具列表,总有一款适合你! 原文: THE ULTIMATE LIST OF JAVASCRIPT TOOLS 译者: Fundebug 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。 简介 2017年1月,Stack Overflow年度开发者调研一共访问了64000个程序员,发现JavaScript已经连续5年成为最流行的编程语言。 这篇博客将介绍一些常用的JavaScript开发工具: 构建&自动化 · IDE&编辑器 · 文档 · 测试 · 调试 · 安全 · 代码优化&分析 · 包管理 ##构建 & 自动化 Webpack对JavaScript应用依赖的所有模块进行静态分析,生成依赖图,然后将它们打包成数个静态文件。 Grunt以将重复耗时的任务自动化。Grunt的生态系统非常大,有超过6010个插件。 Gulp发布于Grunt之后,采用了完全不同的方式,使用JavaScript函数定义任务。它有超过2770个插件,并且提供了更好的控制。 Browserify使得开发者可以在浏览器使用CommonJS模块。开发者像在node环境一样,通过require('modules')来组织模块之间的引用和依赖

使用grunt-jsdoc自动化生成javascirpt文档

若如初见. 提交于 2019-12-22 20:48:34
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 背景 Javascript已经成为一门被人们重新认识的编程语言,由于大量JS开源框架的出现,利用Javascript开发的项目越来越多,越来越大。同时,也有越来越多Javascript开发问题暴露出来,如性能、网页加载速度等,其中,Javascript文档维护也成为了开发者亟待解决的一个难题。 许多现代编程语言都有自己的集成化文档生成工具,像Java有JavaDoc,.NET有NDoc,PHP有PHPDoc,这些自动化文档工具可以根据代码中的注释自动生成代码文档。 NOTE: 我个人使用的是LINUX,所以本文很多命令都是在LINUX下运作的。 依赖 JsDoc 实际上, JsDoc 是一门用于标注Javascript源代码的语言。使用包含JsDoc定义的注解,程序员可以在Javascript注释中包含API文档。通过一系列工具进行批量处理,最终生成HTML或者Rich Text Format等格式的API文档。 目前 JsDoc最新版本 是3.0。 JsDoc Toolkit JsDoc Toolkit 是一个自动化文档工具,它是发布在Google code上的一个开源项目,和其他语言的文档工具一样,它可以自动从Javascript代码中提取注释生成格式化文档。 因为JsDoc

在Linux Mint下安装Grunt

只愿长相守 提交于 2019-12-22 20:45:48
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> [前言] 前几天重写了一个javascript的ui组件,今天在整合到与原有系统中,并且替换旧版本组件的时候,越来越感觉当前代码的组织,编写,自动化测试以及打包都很有问题。 现在javascript组件是越来越复杂,往往一个项目下来,js模块的数量还是很可观的。项目发布的时候,各种方面因素得考量我们还常常需要合并成一个文件发布。 另外如今有很多新的工具提高我们的开发效率,比如coffeescript,less,在保证第一条的时候我们当然希望以这种高效的方式进行开发。 作为编写过服务端代码的一名coder,我们会用在项目编译的时候同时运行单元测试,或者做持续集成。现在js也有很多单元测试框架,比如Chai,Mocha( 惭愧,俺一个都没有用过... ),要是javascript开发过程中也能自动运行单元测试,实现TDD等开发模式多好。 以上我们完全可以做到,使用Grunt即可。这也是我第一次使用Grunt,首先当然就是要安装Grunt了。 [操作系统] Linux mint 13 [正文] 从 Grunt Getting Started 我们可以了解到,目前Grunt要求您的计算机要安装NodeJS以及npm,其中NodeJS的版本要大于等于0.8.0。 如果您一开始图方便直接使用如下代码安装nodejs

elasticseartch5.6.3安装head插件

匆匆过客 提交于 2019-12-10 07:35:38
1、 下载head安装包,下载地址:https://github.com/mobz/elasticsearch-head/archive/master.zip 这是接从git 上下载下来 ,然后上传到虚拟机上的;由于head 插件不能放在elasticsearch-5.6.3 文件夹里,head 插件需要单独放,单独去执行;所以在elasticsearch-5.6.3 同级目录下解压了 head 插件;解压出来的文件名字 2、执行head插件,需要node.js,下面开始安装nodejs 下载nodejs linux X64版上传服务器,解压到安装目录 我的安装目录是 /usr/local/node 配置环境变量 vim /etc/profile export NODE_HOME=/usr/local/node export PATH=$NODE_HOME/bin:$PATH 执行命令使环境变量生效 source /etc/profile 测试 安装完成 3、安装grunt 由于head 插件的执行文件是有grunt 命令来执行的,所以这个命令必须安装。 npm install grunt --save-dev cd elasticsearch-head-master npm install 我在进行安装的时候出现失败的情况,失败原因 Failed at the phantomjs