npm添加package.json

cd到项目根目录直接调用npm init 会创建package.json文件

本地安装bebel(并非全局安装,这种情况下cmd命令中babel命令不识别):

步骤参考http://babeljs.io/

  1.安装  npm install --save-dev babel-cli babel-preset-env

  2.项目根目录创建 .babelrc文件

 格式如下:

 {
"presets": ["env"]
}

这个presets属性后面的数组值表示babel组件

env表示babel-preset-env

react表示 babel-preset-react

先本地安装到项目文件夹下 npm install --save-dev 组件名

在手动在.babelrc文件上添加

注:本地安装的babel命令是通过npm在package中script属性下调用本例子中想查看babel版本,在package中属性scripts中添加属性getbabelVersion

package.json文件如下

{
"name": "project-blog",
"version": "0.0.1",
"description": "folder to study sass npm yeoman",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "babel src -d lib",
"getbabelVersion" :"babel --version"
},
"author": "Tangerwei",
"license": "ISC",
"devDependencies": {
"babel-cli": "^6.18.0",
"babel-preset-env": "^1.1.6",
"babel-preset-react": "^6.16.0"
}
}

然后本目录下运行(注意把执行路径切换到项目根目录下,package也在此目录下) npm run getbabelVersion

输出:6.18.0 (babel-core 6.21.0)

而且注意一点,执行babel命令的时候会自动更新devDependencies属性

至此 babel插件安装完成。

附加:babel默认只转换语法,并不转换api,倘若是es6中出现的api,es5中并没有怎么办?利用 babel-polyfill

然后,在脚本头部,加入如下一行代码。

import("babel-polyfill");或者require("babel-polyfill");

详细清单可以查看https://github.com/babel/babel/blob/master/packages/babel-plugin-transform-runtime/src/definitions.js文件

npm run build 编译,但是还需要安装一个babel-preset-es2015

babel安装使用的坑 参考 http://www.imooc.com/article/11157,非常好的一篇文章,不过和我一样的新手需要手动安装的同时多看几遍

思考:

的确npm的使用有相当强的js风格,利用json作为配置跟项目如出一辙

npm的可以在package.json调用本地的node插件,这样可以在本地直接完成js,css往原生和低版本方向的编译。而发布经过编译版本,编程效率确实有很大的提高,

不仅如此,甚至js的低版本兼容性更好。

package.json参考http://javascript.ruanyifeng.com/nodejs/packagejson.html

babel常用命令参考http://www.ruanyifeng.com/blog/2016/01/babel.html

前端自动化之babel本地化安装的更多相关文章

  1. 学习安装并配置前端自动化工具Gulp

    Gulp和所有Gulp插件都是基于nodeJs来运行的,因此在你的电脑上需要安装nodeJs,安装过程请移驾安装并配置前端自动化工具--grunt.安装完成后,通过运行cmd进入DOS命令窗口,如图: ...

  2. gulp前端自动化入门

    一.从零开始搭建gulp前端自动化 1.首先安装nodejs 2.npm init 初始化 生成package.json 2.1 可以选装cnpm cnpm是淘宝提供的服务 安装:命令提示符执行npm ...

  3. Grunt安装配置教程:前端自动化工作流

    Grunt这货是啥? Grunt 是一个基于任务的 JavaScript 项目命令行构建工具. 最近很火的前端自动化小工具,基于任务的命令行构建工具 http://gruntjs.com Grunt能 ...

  4. 前端自动化学习笔记(一)——Yeoman,bower,Grunt的安装

    最近看视频学习了前端自动化的一些知识,确实让我大开眼界.感觉前端越来越神器了.同时跟着视频自己也尝试运用了一些工具去构建前端项目,但是中间遇见了很多坑,磕磕绊绊的才实现了一点功能,所以打算记录一下学习 ...

  5. 前端自动化构建工具webpack (一)之webpack安装 和 设置webpack.confi.js

    目的:  模块化开发,组件化开发,让代码符合开发规范,更高效 webpack作用:从pack,就知道这是包的意思,比较专业点叫做前端自动化打包构建工具,代码错误检查,预处理,文件合并(打包),代码压缩 ...

  6. 【前端自动化】Gulp的使用(一):安装gulp

    作为一个.NET码农,在前端高速发展的时代,深深感觉自己那么点“前端”技术不够看,比如开发出来的js css等文件庞大,不便于管理,还记得以前的开发就是累加 html  css   jquery, 现 ...

  7. 安装并配置前端自动化工具-gulp

    由于现在前端自动化已经很有必要了,所以我今天死皮烂脸的找了2位前端大咖帮助我安装和配置gulp,讲真,这一步步弄下来直到安装配置成功,到现在还是迷迷糊糊,不过我还是把这些步骤给记录下来,以防下次不记得 ...

  8. 用webpack实现前端自动化构建

    什么是自动化的前端构建流? 1. 自动补全css私有前缀,自动转化less\sass为css,自动转化es6\vue\jsx语法为js,自动打包小图片为base64以减少http请求,自动给js,cs ...

  9. 前端自动化gulp遇上es6从 无知到深爱

    Gulp是什么? Gulp是前端自动化的工具,但Gulp能用来做什么 1.搭建web服务器 2.使用预处理器Sass,Less 3.压缩优化,可以压缩JS CSS Html 图片 4.自动将更新变化的 ...

随机推荐

  1. python操作RabbiMQ

    RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, 消息队列(MQ)是一种应用程序 ...

  2. MySQL删除重复记录的方法

    参考网上的方法,总结了产出重复记录的方法,欢迎交流. 参考:http://www.cnblogs.com/nzbbody/p/4470638.html 方法1:创建一个新表临时储存数据 假设我们有一个 ...

  3. Struts2自己定义拦截器实例—登陆权限验证

    版本号:struts2.1.6 此实例实现功能:用户须要指定username登陆,登陆成功进入对应页面运行操作,否则返回到登陆页面进行登陆,当直接訪问操作页面(登陆后才干訪问的页面)时则不同意,须返回 ...

  4. C++中模板类使用友元模板函数

    在类模板中可以出现三种友元声明:(1)普通非模板类或函数的友元声明,将友元关系授予明确指定的类或函数.(2)类模板或函数模板的友元声明,授予对友元所有实例的访问权.(3)只授予对类模板或函数模板的特定 ...

  5. javascript touch事件

    touchstart : 當手指觸摸屏幕時觸發:即使已經有一個手指放在了屏幕上也會觸發. touchmove : 當手指在屏幕上滑動時連續的觸發,在這個事件發生期間,商用preventDefault( ...

  6. 多线程(NSThread、NSOperation、GCD)编程浅谈

    一.基本概念 进程:一个具有一定独立功能的程序关于某个数据集合的一次运行活动.可以理解成一个运行中的应用程序.线程:程序执行流的最小单元,线程是进程中的一个实体.同步:只能在当前线程按先后顺序依次执行 ...

  7. webpack入门学习

    一.认识webpack webpack是一款模块打包加载工具.它能够将各种资源.JS.CSS.图片等作为模块打包加载.本人也是近期因工作需要才开始接触webpack,在下文中有误的地方还希望各位能够指 ...

  8. 检测网络变化(wifi、2g、3g、4g)

    检测网络变化(wifi.2g.3g.4g) 1.注册广播"android.net.conn.CONNECTIVITY_CHANGE"和"android.net.wifi. ...

  9. .net框架介绍

    .net 一般指 .net Framework框架,是一种平台,一种技术 C# 是一种编程语言,可以开发基于.net平台的应用 Java 既是一种技术,也是一种语言 .net可以开发桌面应用程序    ...

  10. C#学习第二天

    在C#中数据类型大概有两类:值类型和引用类型,需要由定义类型的开发人员决定在什么地方分配一个实例. 值类型和引用类型在使用原理上也有所不同,值类型在使用时是传递或者得到一个值的副本,而引用类型在使用时 ...