babel

Flow 静态类型检查开发环境搭建

好久不见. 提交于 2020-04-20 03:02:27
Flow 是 Facebook 出品的,针对 JavaScript 的静态类型检查工具。它可以帮助捕获 JavaScript 开发中的常见错误,而不需要额外地修改原有的代码,比如静态类型转换,空值引用等问题。同时,Flow 为 JavaScript 添加了静态类型的语法标识,这样开发者便可以明确代码中的类型,让其自动地被 Flow 所维护。本文将详细介绍使用 Webpack、ESlint、Babel 与 Flow 集成的开发环境的构建过程。 安装 Webpack 初始化 npm,然后在本地安装 webpack 和 webpack-cli(此工具用于在命令行中运行 webpack): npm install webpack webpack-cli --save-dev 新建一个 webpack 配置文件 webpack.config.js,如下: const path = require('path') module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', path: path.resolve(__dirname, 'dist') } } 配置 ES6 开发环境 使用 Babel 编译器配置 es6 开发环境,使用 Babel 编译器必须先安装 @babel/core 和 @babel

Flow 静态类型检查开发环境搭建

六眼飞鱼酱① 提交于 2020-04-20 00:56:31
Flow 是 Facebook 出品的,针对 JavaScript 的静态类型检查工具。它可以帮助捕获 JavaScript 开发中的常见错误,而不需要额外地修改原有的代码,比如静态类型转换,空值引用等问题。同时,Flow 为 JavaScript 添加了静态类型的语法标识,这样开发者便可以明确代码中的类型,让其自动地被 Flow 所维护。本文将详细介绍使用 Webpack、ESlint、Babel 与 Flow 集成的开发环境的构建过程。 安装 Webpack 初始化 npm,然后在本地安装 webpack 和 webpack-cli(此工具用于在命令行中运行 webpack): npm install webpack webpack-cli --save-dev 新建一个 webpack 配置文件 webpack.config.js,如下: const path = require('path') module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', path: path.resolve(__dirname, 'dist') } } 配置 ES6 开发环境 使用 Babel 编译器配置 es6 开发环境,使用 Babel 编译器必须先安装 @babel/core 和 @babel

【JavaScript】ESlint & Prettier & Flow组合,得此三神助,混沌归太清

会有一股神秘感。 提交于 2020-04-18 12:33:07
Flow Flow的意义 Flow是faceBook开源的一个JavaScript静态类型检查工具,作用类似TypeScript,但是它不像TS那样是一门独立的语言,而是作为一个babel-plugin,借助babel的编译切入JavaScript的编码当中,同时,与ts不同的是,Flow.js的类型检查不是强制的,可以通过//@flow手动开启,意味着,你可以自由选择某个文件是否开启类型检查。 Flow真是眼前一亮,我就想,TypeScript挺好的,但或许也给人带来了一些烦恼,一旦用了TS,就意味着任何时候都要强制类型检查,我觉得,选择JavaScript还是TypeScript就变成了这样一个问题:我们手头1000元,我们到底是买一件一万元的比较喜欢的还耐用的衣服呢?还是买一件很便宜但是又不耐用的地摊货呢?(耐用指的是维护性),但Flow帮我们找到了折中方案:类型检查这东西,我们在想用和需要用的时候用,同时不想用也可以不用,就好比就是手里有1000块,那我们就刚好去买1000块钱的衣服 Flow的使用 // @flow // 数字 functionflow1(x:number){ console.log(x); } flow1( 2 ); // 字符串 functionflow2(x:string){ console.log(x); } flow2( "xxx" ); //

Rails/NPM - Module build failed [ERR_PACKAGE_PATH_NOT_EXPORTED] for babel-loader

别来无恙 提交于 2020-04-18 03:50:08
问题 I have a Rails app and something recently changed in such a way that the rails server will start but when I load a page I get an NPM related error in the browser console. I did not set up NPM/VueJS in this app so need some help getting it running locally... Error: Module build failed (from ./node_modules/babel-loader/lib/index.js): Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main resolved in /Users/meltemi/rails/myapp/node_modules/@babel/helper-compilation-targets/package.json at

Rails/NPM - Module build failed [ERR_PACKAGE_PATH_NOT_EXPORTED] for babel-loader

霸气de小男生 提交于 2020-04-18 03:49:17
问题 I have a Rails app and something recently changed in such a way that the rails server will start but when I load a page I get an NPM related error in the browser console. I did not set up NPM/VueJS in this app so need some help getting it running locally... Error: Module build failed (from ./node_modules/babel-loader/lib/index.js): Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main resolved in /Users/meltemi/rails/myapp/node_modules/@babel/helper-compilation-targets/package.json at

VUE动态路由

為{幸葍}努か 提交于 2020-04-18 01:59:49
1. 在初始化路由对象时,使用这种静态写死的方式 component: () => import( ' @/views/form/index ' ), 没有问题。 2. 使用动态传参的方式 后台传一个对象obj,然后用这种方式 component: () => import(obj.url), 有问题! 报错,说找不到'@/views/form/index' ,尽管看起来和方法1没有区别。 解决方式: 1. 引入动态参数插件 npm install --save-dev babel-plugin-syntax- dynamic -import 2. 然后使用`...${}...`的方式 component: () => import(`@/views/${obj.url}`), 搞定!路由活了起来~~~ 来源: oschina 链接: https://my.oschina.net/u/4258525/blog/3238136

科技爱好者周刊:第 102 期

[亡魂溺海] 提交于 2020-04-17 17:53:32
这里记录每周值得分享的科技内容,周五发布。 本杂志开源(GitHub: ruanyf/weekly ),欢迎提交 issue,投稿或推荐你的项目。 周刊讨论区的帖子 《谁在招人?》 ,提供大量就业信息,欢迎访问或发布工作/实习岗位。 封面 3月26日,位于武汉的东风日产汽车厂复工,员工午餐保持距离。(法新社) 本周观点:工作热情从何而来? BBC 报道 ,一位新加坡心理学家发明了《工作热情测量表》,可以测量一个人对自己的工作有多大的热情。 工作热情很重要, 如果没有热情,干什么都不会出色。 特朗普就说过:"没有热情,你就没有能量。没有能量,你什么都没有。" 工作热情有很多来源:经济收入、职业前景、社会荣誉......据说,《工作热情测量表》可以测量这些诱因,对你的刺激有多大。 我有一个简单的方法,根本不需要什么心理测试,就能知道你最有工作热情的事情是什么。 你只需要问自己一个问题:即使没有报酬,你也会去干的工作是什么? 如果一种工作根本得不到报酬,你也愿意去做,这就是你最喜欢、最有热情的事情,千万要珍惜。 JK.罗琳写《哈利波特》第一卷时,根本不知道能否出版,她就是有写的冲动,每天去咖啡馆的角落写到天黑。理查德·斯托曼是 GCC 和 Emacs 的作者,写完以后就把代码开源了,所有人都可以免费用,尽管那时他还没地方住,只能睡在办公室里面。 他们的工作热情之高,已经不需要金钱激励了

export default 为何突然没用了?

江枫思渺然 提交于 2020-04-17 14:02:51
【推荐阅读】微服务还能火多久?>>> 前言 前几天团队小伙伴问我一个问题,我在ts文件中使用解构导出了一个变量,在其他地方 import 进来发现是 undefined ,类似这样 //a.ts export const a = { a1: 1, a2: 2 } export const b = { b1: 1 } export default { ...a, b } // b.ts import { a1 } from 'a'; console.log(a1): // undefined 这里抛出一个疑问? 明明使用了 babel-plugin-add-module-exports 兼容了 export default ,但是就是取不到? 接下来我们从 export defalut -> babel -> add-module-exports来逐步的了解下为什么 export default 作用是什么 export default 命令用于指定模块的默认输出。显然,一个模块只能有一个默认输出,因此 export default 命令只能使用一次。本质上, export default 就是输出一个叫做 default 的变量或方法,然后系统允许你为它取任意名字。 类似这样 导出函数 //a.js export default funcion() { //xxx } //b.js

Module build failed (from ./node_modules/babel-loader/lib/index.js) Vue Js

末鹿安然 提交于 2020-04-16 02:32:07
问题 I downloaded a project from GitHub that me and my friend working on however when i try to run npm run serve i got this error error in ./src/main.js Module build failed (from ./node_modules/babel-loader/lib/index.js): Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main resolved in /home/haider/Desktop/L7G/node_modules/@babel/helper-compilation-targets/package.json at applyExports (internal/modules/cjs/loader.js:524:9) at resolveExports (internal/modules/cjs/loader.js:541:12) at Function

钻牛角尖似的学习React.萌到发蠢的萌新

社会主义新天地 提交于 2020-04-15 14:12:45
【推荐阅读】微服务还能火多久?>>> 嗯,,,实习期间一直用的vue,去年为了应付面试,(面试造火箭,工作拧螺丝。。。)但当时react看了一周,简历上都是写的,知道React.笑哭了要。。嗯。。。现在已经忘完了。 1.hello React 要安装三个依赖,具体原因对于只是知道1+1=2的我来说,太难了,不知道,现在,嗯,我的学习方法是温故而知新,等以后“温故”的时候再研究。hahh 1.安装三个必须要安装的 (1)react.js 这是核心包, 安装方式: npm install react --save (2)react-dom.js 渲染页面中的dom,当前文件依赖react核心文件 安装方式: npm install react-dom ---save (3)babel.js ES6转换成ES5 JSX语法换成js 现今浏览器兼容 安装方式: npm install babel-standalone --save 2.下载完成,添加引用 参照目录,引入对应的引用 3.创建根节点 <div id="demo"></div> 4.小栗子实现 <body> <!-- 创建根节点-有个页面徐亚偶一个根节点,这个几点下面的内容就会被react管理--> <div id="demo"></div> <script type="text/babel"> // jsx = js xml