babel

babel-polyfill使用

限于喜欢 提交于 2019-11-27 04:59:55
VUE项目在IE下显示空白的问题可以通过安装babel-polyfill处理器来解决。 由于很多浏览器对es6的支持还不够,所以babel-polyfill可以把es6转换成当前环境可运行(类似一些syntax) 安装: npm install babel-polyfill --save-dev 在main.js导入 import ' babel-polyfill ' ; 在webpack.base.config.js配置 1 module.exports = { 2 context: path.resolve(__dirname, '../'), 3 entry: { 4 app: './src/main.js' 5 // app: ["babel-polyfill", "./src/main.js"] 6 }, 7 ....... 8 } 如上可生效,不知为何??? 来源: https://www.cnblogs.com/daidechong/p/11345105.html

人禾娱乐绿色VIP注册通道之基于 Lerna 管理 packages 的 Monorepo

泪湿孤枕 提交于 2019-11-27 04:26:15
  人禾娱乐绿色VIP注册通道之基于 Lerna 管理 packages 的 Monorepo对于维护过多个package的同学来说,都会遇到一个选择题,这些package是放在一个仓库里维护还是放在多个仓库里单独维护,本文通过一个示例讲述了如何基于Lerna管理多个package,并和其它工具整合,打造高效、完美的工作流,最终形成一个最佳实践      背景      最近在工作中接触到一个项目,这个项目是维护一套 CLI,发到 npm 上供开发者使用。先看一张图:      项目仓库中的根目录上就三个子模块的文件夹,分别对应三个 package,在熟悉了构建和发布流程后,有点傻了。工作流程如图中所示:      使用webpack、babel和uglifyjs把 pkg-a 的 src 编译到 dist      使用webpack、babel和uglifyjs把 pkg-b 的 src 编译到 dist      使用webpack、babel和uglifyjs把 pkg-main 的 src 编译到 dist      最后使用拷贝文件的方式,把pkg-main、pkg-a、pkg-b中编译后的文件组装到 pkg-npm 中,最终用于发布到 npm 上去。      痛点      不好调试。因为最终的包是通过文件拷贝的方式组装到一起的,并且都是压缩过的

Vue-cli + webpack搭建vue项目环境

送分小仙女□ 提交于 2019-11-27 03:27:04
开发前准备工作 Vue项目依赖环境 Vue项目开发需要基于Nodejs,请确保安装Nodejs(建议安装最新版本 Nodejs )。 node -v 项目开发过程中,需要利用Nodejs包管理器NPM。 npm -v 安装命令行工具 Vue.js 提供一个官方命令行工具,可用于快速搭建大型单页应用。 全局安装webpack npm install webpack -g 安装全局的vue-cli脚手架 npm install -g @vue/cli 检查版本 vue -V Vue项目的开发流程 Vue项目的开发流程,如下: 利用命令行工具创建项目 项目开发前配置 项目开发阶段 项目打包与优化阶段 项目上线 接下来我们以商城项目为例,项目目录 my-project 1. 利用命令行工具创建项目 vue create my-project //普通的vue项目 或 vue ui // 图形界面方式创建项目 或 vue init webpack my-project //创建一个基于”webpack”的项目,后面是项目名, 进入项目配置向导,在项目创建的过程中,你可以选择项目需要依赖的工具如(vue-router、vuex等)。 项目创建完成,启动项目测试安装是否成功: cd my-project npm run serve //运行开发环境    运行后,你会看到如下页面: 2.

基于 Lerna 管理 packages 的 Monorepo 项目最佳实践

梦想的初衷 提交于 2019-11-27 03:16:25
本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/NlOn7er0ixY1HO40dq5Gag 作者:孔垂亮 目录 一、背景 二、Monorepo vs Multirepo 三、Lerna 1、Lerna 是什么 2、开始使用 (1)安装 (2)项目构建 四、Lerna的最佳实践 1、优雅的提交 2、自动生成日志 3、编译、压缩、调试 五、结语 六、参考文献 对于维护过多个package的同学来说,都会遇到一个选择题,这些package是放在一个仓库里维护还是放在多个仓库里单独维护,本文通过一个示例讲述了如何基于Lerna管理多个package,并和其它工具整合,打造高效、完美的工作流,最终形成一个最佳实践 背景 最近在工作中接触到一个项目,这个项目是维护一套 CLI,发到 npm 上供开发者使用。先看一张图: 项目仓库中的根目录上就三个子模块的文件夹,分别对应三个 package,在熟悉了构建和发布流程后,有点傻了。工作流程如图中所示: 使用webpack、babel和uglifyjs把 pkg-a 的 src 编译到 dist 使用webpack、babel和uglifyjs把 pkg-b 的 src 编译到 dist 使用webpack、babel和uglifyjs把 pkg-main 的 src 编译到 dist

Export multiple classes in ES6 modules

我的未来我决定 提交于 2019-11-27 02:55:22
I'm trying to create a module that exports multiple ES6 classes. Let's say I have the following directory structure: my/ └── module/ ├── Foo.js ├── Bar.js └── index.js Foo.js and Bar.js each export a default ES6 class: // Foo.js export default class Foo { // class definition } // Bar.js export default class Bar { // class definition } I currently have my index.js set up like this: import Foo from './Foo'; import Bar from './Bar'; export default { Foo, Bar, } However, I am unable to import. I want to be able to do this, but the classes aren't found: import {Foo, Bar} from 'my/module'; What is

基于 Lerna 管理 packages 的 Monorepo 项目最佳实践

时光总嘲笑我的痴心妄想 提交于 2019-11-27 02:37:09
本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/NlOn7er0ixY1HO40dq5Gag 作者:孔垂亮 对于维护过多个package的同学来说,都会遇到一个选择题,这些package是放在一个仓库里维护还是放在多个仓库里单独维护,本文通过一个示例讲述了如何基于Lerna管理多个package,并和其它工具整合,打造高效、完美的工作流,最终形成一个最佳实践 背景 最近在工作中接触到一个项目,这个项目是维护一套 CLI,发到 npm 上供开发者使用。先看一张图: 项目仓库中的根目录上就三个子模块的文件夹,分别对应三个 package,在熟悉了构建和发布流程后,有点傻了。工作流程如图中所示: 使用webpack、babel和uglifyjs把 pkg-a 的 src 编译到 dist 使用webpack、babel和uglifyjs把 pkg-b 的 src 编译到 dist 使用webpack、babel和uglifyjs把 pkg-main 的 src 编译到 dist 最后使用拷贝文件的方式,把pkg-main、pkg-a、pkg-b中编译后的文件组装到 pkg-npm 中,最终用于发布到 npm 上去。 痛点 不好调试。 因为最终的包是通过文件拷贝的方式组装到一起的,并且都是压缩过的,无法组建一个自上到下的调试流程

Is Babel a compiler or transpiler?

这一生的挚爱 提交于 2019-11-27 02:32:00
问题 I've been using Babel for a while now, and I've always been under the impression that Babel was a transpiler for converting my ES6 and ES7 JavaScript into ES5 JavaScript, as I was under the assumption that you could technically treat ES5 and ES6 as two different language. However, I couldn't help but notice that Babel's website title describes it as a compiler , which I believe is something very different from a transpiler . Is Babel a transpiler or a compiler , or perhaps offers both options

Babel Plugin/Preset files are not allowed to export objects, only functions

◇◆丶佛笑我妖孽 提交于 2019-11-27 01:28:35
问题 I`m tryng to use Babel-loader on an old project, and i notice some issues regarding when babel loader is working on wrapped objects, is this its default behaviour ? I am not sure if this is a bug or something im doing wrong, i could not find much about it over google, so this is my last resource. Would i need to change something to my code to make it work ? This are my current specs: Webpack: 3.19.0 babel/core: 7.0.0-beta.34 babel-loader: 8.0.0-beta.0 Please refer to my packages.json if

Getting Unexpected Token Export

不羁的心 提交于 2019-11-26 17:57:29
问题 I am trying to run some ES6 code in my project but I am getting an unexpected token export error. export class MyClass { constructor() { console.log("es6"); } } 回答1: You are using ES6 Module syntax. This means your environment (e.g. node.js) must support ES6 Module syntax. NodeJS uses CommonJS Module syntax ( module.exports ) not ES6 module syntax ( export keyword). Solution: Use babel npm package to transpile your ES6 to a commonjs target or Refactor with CommonJS syntax. 回答2: In case you

Module build failed (from ./node_modules/babel-loader/lib/index.js): Error: Cannot find module 'babel-preset-react'

南笙酒味 提交于 2019-11-26 17:12:58
问题 I'm stuck with the following error when trying to build a react app with Webpack4 and Babel7. ERROR in ./src/index.js Module build failed (from ./node_modules/babel-loader/lib/index.js): Error: Cannot find module 'babel-preset-react' from '/Users/me/Desktop/reflask' - If you want to resolve "react", use "module:react" - Did you mean "@babel/react"? at Function.module.exports [as sync] (/Users/me/Desktop/reflask/node_modules/resolve/lib/sync.js:43:15) at resolveStandardizedName (/Users/me