Node Webpack Gzip

Those same files are available from a Content Delivery Network (CDN) as well. Setup React Webpack development environment complete with Node and Babel including development, testing, and production workflows. That means that you need to exclude node_modules/ from babel scope. Nothing works. The reason it works is because on OSX the global npm module directory has stricter permissions. Compressing assets. Turns out I had to uncomment AddEncoding x-gzip. The internal webpack config is maintained using webpack-chain. webpack bits: Learn and Debug webpack with Chrome Dev Tools! The node-nightly package You don’t just have to use this on webpack, but any node script! Excellent for identifying memory. Let's start to develop compressor plugin and define it's file structure. See the complete profile on LinkedIn and discover Matthew’s. Webpack thinks that consumer, not library author, should be able to control this. yarn add compression-webpack-plugin. js app to Azure App Service. scss', filters=(sass,), output='theme. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset. /includes/head instead of include. js 核心库 polyfill。 请查看 Node. Webpack 在执行的时候,除了在命令行传入参数,还可以通过指定的配置文件来执行. To deploy to App Service on Linux, see Create a Node. Open package. Webpack Dev server helps a lot during development, but your production environment might be different and you might need to test those builds as well. 🐠 Automatic transforms Code is automatically transformed using Babel, PostCSS, and PostHTML when needed - even node_modules. ES6 has better optimization with V8, which results in quite a nice boost in performance (numbers below!). MIT · Repository · Original npm · Tarball · package. jsファイルを作成し、webpackが自動的に使用します。 使用可能なすべての設定オプションが以下に指定されています。 ウェブパックを初めてお使いですか? webpackの基本的な概念の一部を紹介しています。. NET or Core 2, "MS stuff"! As of Feb 28th 2018 I have been using VS Code to build with Ruby Jekyll, Markdown, Liquid, React, Webpack using Netlify for a Docker Container with a gzip build; is the kind. (HEY?!?! There is that crazy number again. Even though this is a good technique majority of the libraries don’t publish their code in ES2015. Webpack loader for the Elm programming language. NET Core MVC view using Webpack to build the Angular application. Can anyone please help me how to decompress or decode the response. The user specifies all customization. I personally don't recommend this. js 模块,返回一. All you see is the decoded version. Stencil and Webpack 2 With the recent release of Webpack 2, I wanted to see how easy it would be to migrate Stencil to it, and if I could take advantage of automatic code splitting. Basic Webpack Dev Server configuration. In this example, the Angular CLI compiles and bundles the Universal version of the app with the Ahead-of-Time (AoT) compiler. webpack打包的文件太大(虽然已经用nginx压缩过,但仍有317k,加载近20秒),据说同时用webpack开启gzip压缩更好,所以想尝试一下,但是一直没成功。. Use this script instead. 这篇文章主要介绍了关于vue的npm run dev和npm run build的区别介绍,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧. js/Express, PostCSS, Webpack, GZip). webpack is a module bundler. Yes, it has a(n arguably) messy documentation, and a steep learning curve; but once you get the hang of it, there is nothing you cannot do with it. Turns out I had to uncomment AddEncoding x-gzip. Those same files are available from a Content Delivery Network (CDN) as well. js relies on the industry-standard zlib library, also known for its use in gzip and libpng. Basic Setup. co with a lot of custom targets: vendoring dependencies, transpiling ES2015 to Ecmascript5 (with Babel), incremental compilation of multiple watched modules, minification, creation of app distribution packages etc. 90KB size in min+gzip format. How? First you get Bootstrap via npm. js server listens to when files were changes and triggers events to react accordingly. js and webpack, you can use Rollup to compile to UMD or CommonJS format, and then point to that compiled version with the main property in your package. I could set up a project, but it seems the setting for. Clone via HTTPS Clone with Git or checkout with SVN using the repository's web address. We highly recommend using webpack to bundle your sources. Ian Obermiller's site. このためには、ルートフォルダにwebpack. js - Decompress Gzip JSON response I'm getting GZIP type compressed response from web-service. It is based on a modern variant of the LZ77. All we need to do is add this directory to our class path and Java can now read the files. How? First you get Bootstrap via npm. JavaScript Performance. webpack has access to more staggeringly-powerful built-in. In our case, webpack is configured to output our bundles to the dist folder. json lock file. It would also extract the common code – this is useful if your build produces several bundles (e. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. Webpack loader for the Elm programming language. Nothing works. npm install --save webpack-google-cloud-storage-plugin. Install npm i -D compression-webpack-plugin Us_来自webpack,w3cschool。. Browse The Most Popular 46 Browserify Open Source Projects. To split the code into chunks,. json, and add this information as an engines > node section as shown (using the version number for your system). We then move into how Webpack optimizes your production bundles, as we solidify the boilerplate into a portfolio website. This is a nightmare for caching since numeric ids can change if you dependencies resolve in a different order (after adding/removing deps). When opened, the report displays all of the Webpack chunks for your project. We can find the version of node we're using for development by entering the command: >node --version v10. babel-loader bundle-loader cache-loader coffee-loader coffee-redux-loader coverjs-loader css-loader exports-loader expose-loader extract-loader file-loader gzip-loader html-loader i18n-loader imports-loader istanbul-instrumenter-loader jshint-loader json-loader json5-loader less-loader Loaders mocha-loader multi-loader node-loader null-loader. Webpack and Web Performance Optimization Blackie. js 核心库 polyfill。 请查看 Node. js based applications by automatically restarting the node application when file changes in the directory are detected. js 【已解决】webpack-dev-server运行后打开页面出错:Cannot GET /. Most seed project prod mode default open gzip,Include old angular-cli version. Mithril and Webpack Michael Hellein Doc / Presentation Why are we here? Some Context. In this video series I will show you how you can debloat Bootstrap and use it in a production environment with Sass and Webpack. After gzip the bundle sizes are 151k and 149k for Webpack 2 and Webpack 3 respectively. com 2016/11/18 2. ومع ذلك ، ستفترض أن نقطة دخول المشروع الخاص بك هي src/index وستقوم بإنتاج النتيجة في dist/main. example will be very helpful. Getting started with VueJS, NodeJS and Azure CosmosDB By Aram Koukia Looking at the Frontend frameworks that showed up in the past few years, it seems like we are down to very few main frameworks that people are talking about. Webpack Introduction 4. 0和Webpack v4. Webpack lets you do this. Vue -- vue-cli webpack打包开启Gzip 报错的更多相关文章. We can take advantage of this built-in support for Brotli in Node 11. How? First you get Bootstrap via npm. Node Add-ons for webpack. Gulp vs Grunt vs Webpack: Comparison of Build Tools / Task Runners 17/03/2017 - 18:02 Only a few years ago, usage of JavaScript build tools would sound ridiculous, due to the fact that JS is interpreted by a browser and it isn't compiled. 0% Use Git or checkout with SVN using the web URL. Serving static files in Express. I was looking to optimise the page load time for various clients and tried profiling the site on one of the available tools to check how we were doing. When webpack is ran from inside docker using the node:5. It might not be a big deal for a Clojure developer who accidentally write web pages,. This format specifier will force evaluation of the expression on every step. 14 sass = get_filter('scss') sass. Otherwise, why use ng server with prod,just need build then publish to production. NPM is the recommended installation method when building large scale apps with Vue. In practice, however, I’ve seen the following happen:. Express does not compress files by default. js autour de 5MB. How developers use Fly. html就是服务器和前端项目对接的入口文件,整个build文件夹都会被服务器视为静态资源包,也就说你只要粘贴复制给服务器的只有build这个文件夹,其他的都是开发环境下的包。. The browser decodes the file, and loads it into the html. Just gulp watch that fails. So, I turned all on, but the important ones is Caching, Minify and GZIP. 0 and later by just passing in the appropriate algorithm to the CompressionPlugin:. parser Rule. json and observe the scripts section. In the last post we implemented Webpack Dev Server to add some styles to our project, now we are going to implement React using Node. loaders Rule. For some systems, watching many file systems can result in a lot of CPU or memory usage. One of the great solutions for this was Grunt, then came Gulp and that was even better. It's better to compress your huge project a single time and then serve it when possible. When opened, the report displays all of the Webpack chunks for your project. 我们在 http 传输中开启 gZip 的目的也是如此,但是一般文章介绍 gZip 时候总是结合一些服务端配置(nginx)或者构建工具插件(webpack)来说,列出一大堆配置让人看的云里雾里,以至于到最后还没搞懂 为什么用,怎么用 这些问题。 http 与 gZip. 0 image, it is creating a bunch of *. The zlib module provides compression functionality implemented using Gzip and Deflate/Inflate. Webpack Plugins. During the past ten years, we've seen a major shift in web development from the server-side to the client. Webpack is an awesome and super flexible bundling library. I'm using Webpack 2, so if you use another version, please look for a equivalent config. NODE_ENV와 문자열 리터럴을 함께 사용하면 UglifyJS와 같은 minifier가 개발 전용 코드 블록을 완전히 삭제하여 최종 파일 크기를 줄일 수 있습니다. If you split your bundle into several pieces – one for the main page and one for the article page – the user will only have to re-download the changed piece of code. For fast compression and decompression, Node. Webpack is the best bundler. npm install --save webpack-google-cloud-storage-plugin. CompressionPlugin can be used for this. js and npm, consider using nvm to manage the multiple versions of Node. js assumes we want to convert the object to utf8 encoded string by default. For more information about packaging a Node. But it's the 21st century. Brotli is a compression algorithm originally developed by Google, and offers compression superior to gzip. Vue CLI is fully configurable without the need for ejecting. RunKit notebooks are interactive javascript playgrounds connected to a complete node environment right in your browser. NET Core , ASPNET5 · 7 Comments This article shows how Angular can be run inside an ASP. 0 and later by just passing in the appropriate algorithm to the CompressionPlugin:. js web application framework that provides a robust set of features for web and mobile applications. InspectPack and Node Environments. To split the code into chunks,. Selecting Which Chunks to Display. The internal webpack config is maintained using webpack-chain. js — set­tings for local devel­op­ment builds; webpack. webpack TypeScript This guide stems from the Getting Started guide. It is based on a modern variant of the LZ77. Without gzpping the javascript bundle, it works 100% correctly. In practice, however, I’ve seen the following happen:. Then I appended both the vendor bundle (containing the bundled node_modules) and application bundle (which I didn. So you can only use javascript features supported by your version of Node. There isn't an option for development release with hot reloading (watch mode). Express does not compress files by default. Webpack lets you do this. NODE_ENV 替换为字符串字面量,可以允许像 UglifyJS 的压缩工具将那些仅开发环境(development-only)用到的代码块全部删除,以减少最终文件的大小。 webpack. Getting started with VueJS, NodeJS and Azure CosmosDB By Aram Koukia Looking at the Frontend frameworks that showed up in the past few years, it seems like we are down to very few main frameworks that people are talking about. Starter project featuring Angular 4+, (with AOT compilation), TypeScript, Webpack 3 (with Tree Shaking, Hot Module Replacement, and SASS), Debugging Webpack Build, Debugging Angular Application, and Gzip Compression of assets. I am getting an “Invalid Host header” message, when running my React app in a Webpack dev server on Cloud9. Octopus Deploy is made possible thanks to the following great third-party products. We can take advantage of this built-in support for Brotli in Node 11. json, and add this information as an engines > node section as shown (using the version number for your system). js on any Raspberry Pi. Then I appended both the vendor bundle (containing the bundled node_modules) and application bundle (which I didn. promisify (function (any arguments Note that if the node function is a method of some object, you can pass the object as the second argument like so:. Once you run the webpack-dev-server command in your terminal, it gives you a lot of metadata about the files that are being used, and other information about the workings. js polyfills# By default, webpack bundles polyfills for Node. // webpack-node-externals config, the size after gzip. 0 and later by just passing in the appropriate algorithm to the CompressionPlugin:. For fast compression and decompression, Node. Can anyone please help me how to decompress or decode the response. The browser decodes the file, and loads it into the html. Skip navigation Sign in. Over the last few months we've worked on setting up our ideal stack, and we're proud of what we've built. Defaults to every asset. 前提是已经安装并配置好node和npm环境,先搭建vue脚手架 vue-cli # 全局安装 vue-cli $ npm install --global vue-cli # 创建一个基于 webpack 模板的新项目 $ vue init webpack my-project # 安装依赖,走你 $ cd my-project 切换到你创建的文件夹下 $ npm install 安装依赖. When I started out, one of the things that bugged me a whole lot was that most of the tutorials. I'm thinking about adding this plugin if it helps compressing my files more. This is the "output" size of your files. v1 → v2 could be a bit of a hassle, but v2 → v3 is in 98% of. In this video series I will show you how you can debloat Bootstrap and use it in a production environment with Sass and Webpack. Production best practices: performance and reliability Overview. No Webpack 4+, você pode usar a opção mode: module. Let's start to develop compressor plugin and define it's file structure. Hi everyone, In the last version of Quasar (0. Two Quick Ways To Reduce React App’s Size In Production. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset. Those same files are available from a Content Delivery Network (CDN) as well. NET Core solution and I have a situation where I need to use. The zlib module provides compression functionality implemented using Gzip and Deflate/Inflate. Webpack 4 eslint-loader issue. Brotli is a compression algorithm originally developed by Google, and offers compression superior to gzip. sass-loader style-loader webpack webpack-bundle-analyzer webpack-dev-middleware webpack-hot-middleware webpack-hot-server-middleware webpack-merge webpack-node-externals Category. Node Add-ons for webpack. NODE_ENV 替换为字符串字面量,可以允许像 UglifyJS 的压缩工具将那些仅开发环境(development-only)用到的代码块全部删除,以减少最终文件的大小。 webpack. js Readable stream; The data encapsulated in the Body object. Azure App Service provides a highly scalable, self-patching web hosting service. Follow and code along as we build a Markdown blog, like Ghost, with Hot Module Reloading, Babel, and debugging in Node. 0 and later has native support for Brotli compression in its zlib module. My next experiment is measuring actual JavaScript performance in the bundles. Grok the internal workings of Webpack, Babel, Node and more Javascript libraries. Create-React-App ejection, Webpack tweaks, and use of Webpack's DllPlugin. It automatically generates a minimal webpack configuration based on your selection of loaders/plugins, etc. webpack gzip-loader. It pairs nicely with module bundlers such as Webpack or Browserify. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset. Introduction. See the complete profile on LinkedIn and discover Matthew’s. js server listens to when files were changes and triggers events to react accordingly. I was looking to optimise the page load time for various clients and tried profiling the site on one of the available tools to check how we were doing. For example, when using Network File. So it provides us with all the features of Webpack plus a development server which serves our files over HTTP and functionalities such as watch mode, live reloading and hot module replacement which makes our. This is the size of running the parsed bundles/modules through gzip compression. I don’t understand how to make the loader evaluate the correct mode to extractcss in seperate files or not:. static_folder, 'scss')] Then, when you register your bundle: self. High-performance webpack config for front-end delivery Published Jul 21, 2017 Last updated Jan 17, 2018 More and more developers are using webpack for easy bundling, but even in 2017, many websites still don't take advantage of the biggest performance boosts webpack has to offer. Vivado Lab Edition is a new, compact, and standalone product targeted for use in the lab environments. Octopus Deploy is made possible thanks to the following great third-party products. If left undefined, this property will default to true. Remove Node. The gist of these points is that you should maintain parallelism of asset references between builds, and generally avoid writing the same assets to disk multiple times. Integrated with a NodeJS webserver backend with example API routes. js based applications by automatically restarting the node application when file changes in the directory are detected. parser Rule. Brotli is a compression algorithm originally developed by Google, and offers compression superior to gzip. $ yarn add @symfony/webpack-encore --dev # if you prefer npm, run this command instead: # npm install @symfony/webpack-encore --save-dev This command creates (or modifies) a package. Under the hood, Webpack dev server is a mini Node. 33, gulp version 3. babel-loader bundle-loader cache-loader coffee-loader coffee-redux-loader coverjs-loader css-loader exports-loader expose-loader extract-loader file-loader gzip-loader html-loader i18n-loader imports-loader istanbul-instrumenter-loader jshint-loader json-loader json5-loader less-loader Loaders mocha-loader multi-loader node-loader null-loader. We then move into how Webpack optimizes your production bundles, as we solidify the boilerplate into a portfolio website. webpack is a module bundler. if you split your app into routes ). Replacing process. loaders Rule. Thus you can import your Less modules from node_modules. compression-webpack-plugin. js 核心库及其 polyfills 列表。. Selecting Which Chunks to Display. Install npm i -D compression-webpack-plugin Us_来自webpack,w3cschool。. IE8 has the lowest maximum data URI size of 32768 Bytes. 6 with Chrome. Airbnb, Instagram, and Pinterest are some of the popular companies that use Webpack, whereas gulp is used by Mailgun, Sellsuki, and Movielala. You can find the webpack. Install npm install --save-dev node-loader Usage. 0 国际 许可协议。请尊重他人的劳动成果!. This is useful during debugging when you want to track a specific value. Getting started with VueJS, NodeJS and Azure CosmosDB By Aram Koukia Looking at the Frontend frameworks that showed up in the past few years, it seems like we are down to very few main frameworks that people are talking about. Over the past few weeks I've read a lot about code splitting, or the idea of delivering just the JavaScript needed to run the current page/route. そしてnode_modulesディレクトリに実際のライブラリが入っている。 やたら多いのは、それぞれに依存しているものも入っているので。 やたら多いのは、それぞれに依存しているものも入っているので。. nodemon is a tool that helps developing node. Workbox is installed, but you're not using it in your webpack build process, yet. Brotli is a compression algorithm originally developed by Google, and offers compression superior to gzip. In the last post we implemented Webpack Dev Server to add some styles to our project, now we are going to implement React using Node. js config file is a bit different than the development. exe processes making it simple to improve overall reliability. In practice, however, I've seen the following happen:. Matthew has 2 jobs listed on their profile. Uncaught TypeError: babylonjs_core_Legacy_legacy__WEBPACK_IMPORTED_MODULE_0_. js and webpack, you can use Rollup to compile to UMD or CommonJS format, and then point to that compiled version with the main property in your package. js file in the github repo mentioned at the end of this post. If we don't pass the encoding type to toString(), Node. In our Webpack config we are outputting everything into an assets directory. Enables loading gzipped resources. Yarn uses checksums to verify the integrity of every installed package before its code is executed. Uncaught TypeError: babylonjs_core_Legacy_legacy__WEBPACK_IMPORTED_MODULE_0_. – the cost is merely delayed until later in the page lifecycle. selecting one radio from a mat-radio-group is selecting all other radio’s from other groups which have same values. Note that while the Fetch Standard requires the property to always be a WHATWG ReadableStream, in node-fetch it is a Node. 0 website using pako. angular2-starter-kit :star: Angular2 starter kit — production ready universal web app boilerplate (Angular 2, Server Side Rendering, Web Worker, Docker, Node. Came across testmysite from Google and. Participate in discussions with other Treehouse members and learn. How developers use Fly. js Tutorial in PDF - You can download the PDF of this wonderful tutorial by paying a nominal price of $9. Provides polyfills necessary for a full ES2015+ environment. Compression Ratio: Disk space occupied after compression/before compression Compression of Compressed Programs [zip] zip program compression [gz] gzip program compression Can decompose compress, zip, gzip compressed filesOnly one file can be compressed Gzip [file] compresses a single file, the original file is compressed to. These operations are used so frequently in HTTP server development that they are added at this level instead of a higher level framework, which would force middleware to re-implement this. This tool will help you identify what bundles make up the most of your application. Specifies the publicPath of the webpack, pointing to the path where the static resource file is located. I'm at a lost right now as this just started to happen. MIT · Repository · Original npm · Tarball · package. This means that you are running a slower development build of Redux. static built-in middleware function in Express. The less-loader applies a Less plugin that passes all queries to the webpack resolver. gzip files on my project root where the webpack. Install npm install --save-dev node-loader Usage. Upon each connection, the callback is fired, but if there is no work to be done, Node. Yarn uses checksums to verify the integrity of every installed package before its code is executed. The production. So you can only use javascript features supported by your version of Node. It's worth keeping an eye on what you send through Webpack and also keep an eye out on the JS bundle size as well. exports = {webpack: (config, {buildId, dev, isServer, defaultLoaders, webpack }) => {// Note: we provide webpack above so you should not `require` it // Perform customizations to webpack config // Important: return the modified config // Example using webpack. You dont "use webpack in Node. Optimizing images for delivery with WebPack. 基于 Webpack 的应用包体尺寸优化翻译自Optimising-Your-Application-Bundle-Size-With-Webpack,从属于笔者的 Web 前端入门与最佳实践 中的 React 入门与最佳实践系列。笔者翻译此文也是为了完善自己的技术体系内容,不过推荐直接浏览Webpack 官方网站。. Brotli: It is an open source data compression library developed by Jyrki Alakuijala and Zoltán Szabadka. Additionally, the platform undergoes constant upgrades so as to allow developers to continue delivering bespoke applications for their clients. js and webpack, you can use Rollup to compile to UMD or CommonJS format, and then point to that compiled version with the main property in your package. I've had test cases with it where the JS bundle size exceeds 10k pre gzip for relatively light applications so you do need to be careful with it depending on what you are trying to build. So, I turned all on, but the important ones is Caching, Minify and GZIP. Aktiviert das Laden von gezippten Ressourcen. Im guessing that its "webpack. 0 and later by just passing in the appropriate algorithm to the CompressionPlugin:. Raspbian Packages. GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together. I have just started a new job at a young startup that develops its front-end part using VueJS. To deploy to App Service on Linux, see Create a Node. js,callback,promise,q I've node app with function that inside call to to other two function,I want to use some async behavior for it,what is recommended to use in this case. 查看安装成功否(有版本号就是成功,V大写) vue -V. NODE_ENV to enable/disable certain parts. This documentation indicates what arguments a method accepts, the return value of that method, and what errors may be related to that method. 0 and later has native support for Brotli compression in its zlib module. It is based on a modern variant of the LZ77. webpack 官方参考文档_来自webpack,w3cschool。 多端阅读《webpack》: 在PC/MAC上查看:下载w3cschool客户端. Webpack is an awesome and super flexible bundling library. I could set up a project, but it seems the setting for. There's no shortage of content at Laracasts. Webpack Dashboard does additional analysis of individual module sizes (including minified + gzipped), asset sizes, and any problems when your bundle is unminified and not in a production environment. 11/09/2017; 12 minutes to read +7; In this article. Clone via HTTPS Clone with Git or checkout with SVN using the repository's web address. CompressionPlugin can be used for this. 安装过nodeJs 、cnpm 后,全局安装vue-cli(以后其他项目可直接使用): cnpm install -g vue-cli. The CLI assumes prior knowledge of Node. CLI 默认了用户对 Node. In this post, we are going to dive into how to build a super basic WordPress plugin with React. NODE_ENV 替换为字符串字面量,可以允许像 UglifyJS 的压缩工具将那些仅开发环境(development-only)用到的代码块全部删除,以减少最终文件的大小。 webpack. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset. js is designed to build scalable network applications. js has all the tools you need to reduce the size. If you are new to Vue or front-end build tools, we strongly suggest going through the guide without any build tools before using the CLI. webpack 提供了 Node. 版权申明:本文地址 vue-cli webpack打包开启Gzip时报错,本博客所有文章除特别声明外,均采用署名-非商业性使用-禁止演绎 4. yarn add compression-webpack-plugin. js applications. If we look at the "content breakdown" of each test, we can see that the AOT version has 101KB of JS (gzip), while the non-AOT version has 190KB (gzip). Clone via HTTPS Clone with Git or checkout with SVN using the repository's web address. So first, let's do the basics. In our case, webpack is configured to output our bundles to the dist folder. gzip; size; compressed. js size went from 524K with Webpack 1 and JiT to 253K with Webpack 2 and AoT. Node Add-ons for webpack. Upon each connection, the callback is fired, but if there is no work to be done, Node. The CLI assumes prior knowledge of Node. In the following "hello world" example, many connections can be handled concurrently. webpack is a module bundler. React Speed Coding enables you to optimize your React development workflow and speed up the app design lifecycle. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. The fact-checkers, whose work is more and more important for those who prefer facts over lies, police the line between fact and falsehood on a day-to-day basis, and do a great job. Today, my small contribution is to pass along a very good overview that reflects on one of Trump’s favorite overarching falsehoods. Namely: Trump describes an America in which everything was going down the tubes under  Obama, which is why we needed Trump to make America great again. And he claims that this project has come to fruition, with America setting records for prosperity under his leadership and guidance. “Obama bad; Trump good” is pretty much his analysis in all areas and measurement of U.S. activity, especially economically. Even if this were true, it would reflect poorly on Trump’s character, but it has the added problem of being false, a big lie made up of many small ones. Personally, I don’t assume that all economic measurements directly reflect the leadership of whoever occupies the Oval Office, nor am I smart enough to figure out what causes what in the economy. But the idea that presidents get the credit or the blame for the economy during their tenure is a political fact of life. Trump, in his adorable, immodest mendacity, not only claims credit for everything good that happens in the economy, but tells people, literally and specifically, that they have to vote for him even if they hate him, because without his guidance, their 401(k) accounts “will go down the tubes.” That would be offensive even if it were true, but it is utterly false. The stock market has been on a 10-year run of steady gains that began in 2009, the year Barack Obama was inaugurated. But why would anyone care about that? It’s only an unarguable, stubborn fact. Still, speaking of facts, there are so many measurements and indicators of how the economy is doing, that those not committed to an honest investigation can find evidence for whatever they want to believe. Trump and his most committed followers want to believe that everything was terrible under Barack Obama and great under Trump. That’s baloney. Anyone who believes that believes something false. And a series of charts and graphs published Monday in the Washington Post and explained by Economics Correspondent Heather Long provides the data that tells the tale. The details are complicated. Click through to the link above and you’ll learn much. But the overview is pretty simply this: The U.S. economy had a major meltdown in the last year of the George W. Bush presidency. Again, I’m not smart enough to know how much of this was Bush’s “fault.” But he had been in office for six years when the trouble started. So, if it’s ever reasonable to hold a president accountable for the performance of the economy, the timeline is bad for Bush. GDP growth went negative. Job growth fell sharply and then went negative. Median household income shrank. The Dow Jones Industrial Average dropped by more than 5,000 points! U.S. manufacturing output plunged, as did average home values, as did average hourly wages, as did measures of consumer confidence and most other indicators of economic health. (Backup for that is contained in the Post piece I linked to above.) Barack Obama inherited that mess of falling numbers, which continued during his first year in office, 2009, as he put in place policies designed to turn it around. By 2010, Obama’s second year, pretty much all of the negative numbers had turned positive. By the time Obama was up for reelection in 2012, all of them were headed in the right direction, which is certainly among the reasons voters gave him a second term by a solid (not landslide) margin. Basically, all of those good numbers continued throughout the second Obama term. The U.S. GDP, probably the single best measure of how the economy is doing, grew by 2.9 percent in 2015, which was Obama’s seventh year in office and was the best GDP growth number since before the crash of the late Bush years. GDP growth slowed to 1.6 percent in 2016, which may have been among the indicators that supported Trump’s campaign-year argument that everything was going to hell and only he could fix it. During the first year of Trump, GDP growth grew to 2.4 percent, which is decent but not great and anyway, a reasonable person would acknowledge that — to the degree that economic performance is to the credit or blame of the president — the performance in the first year of a new president is a mixture of the old and new policies. In Trump’s second year, 2018, the GDP grew 2.9 percent, equaling Obama’s best year, and so far in 2019, the growth rate has fallen to 2.1 percent, a mediocre number and a decline for which Trump presumably accepts no responsibility and blames either Nancy Pelosi, Ilhan Omar or, if he can swing it, Barack Obama. I suppose it’s natural for a president to want to take credit for everything good that happens on his (or someday her) watch, but not the blame for anything bad. Trump is more blatant about this than most. If we judge by his bad but remarkably steady approval ratings (today, according to the average maintained by 538.com, it’s 41.9 approval/ 53.7 disapproval) the pretty-good economy is not winning him new supporters, nor is his constant exaggeration of his accomplishments costing him many old ones). I already offered it above, but the full Washington Post workup of these numbers, and commentary/explanation by economics correspondent Heather Long, are here. On a related matter, if you care about what used to be called fiscal conservatism, which is the belief that federal debt and deficit matter, here’s a New York Times analysis, based on Congressional Budget Office data, suggesting that the annual budget deficit (that’s the amount the government borrows every year reflecting that amount by which federal spending exceeds revenues) which fell steadily during the Obama years, from a peak of $1.4 trillion at the beginning of the Obama administration, to $585 billion in 2016 (Obama’s last year in office), will be back up to $960 billion this fiscal year, and back over $1 trillion in 2020. (Here’s the New York Times piece detailing those numbers.) Trump is currently floating various tax cuts for the rich and the poor that will presumably worsen those projections, if passed. As the Times piece reported: