These tools make it a solid front-end boilerplate to get a new project off the ground.
Features | Description |
---|---|
Task Runner | Gulp |
CSS | SASS, ITCSS, CSS Guidelines, BEM |
CSS Tools | Autoprefixer, Source Maps, Stylelint |
Bootstrap 4 | Grid System, Responsive Breakpoints |
JS | Webpack, Babel, ESLint |
Live Reload | BrowserSync |
HTML Templates | Twig.js |
Deployment | GitHub Pages |
Make sure all dependencies have been installed before moving on:
Clone this repository and run
yarn
or npm install
to install dependenciesTask Name | Description | Environment |
---|---|---|
yarn start or npm run start |
Generate a development environment, start the server and watch for changes | Development |
yarn watch or npm run watch |
Start the server and watch for changes | Development |
yarn build or npm run build |
Compile production code | Production |
yarn deploy or npm run deploy |
Compile production code and deploy to GitHub Pages | Production |
|--dist/ # → Static version of the website ready to upload (never edit)
|
|--gulpfile.babel.js/ # → Gulpfile config and tasks
|--node_modules/ # → Node.js packages (never edit)
|--src/ # → Source files
| |--assets/ # → Assets
| | |--fonts/ # → Assets: Fonts
| | |--img/ # → Assets: Images
| |--modules/ # → Modules: Multi-part components e.g. Navbar (HTML, CSS and JS)
| |--scripts/ # → JS
| | |--components/ # → JS: Components
| | |--app.js # → JS: Main file
| |--styles/ # → Styles: ITCSS Architecture + BEM Methodology
| | |--main.scss # → Styles: Main stylesheet file
| |--templates/ # → Site templates (Twig.js)
| | |--layouts/ # → Templates: Layouts
| | |--components/ # → Templates: Components
| | |--pages/ # → Templates: Pages
|--.babelrc # → Babel presets
|--.browserslistrc # → Browserslist config, browsers that we support
|--.eslintrc # → ESLint config
|--.gitignore # → Gitignore
|--.stylelintrc # → Stylelint config
|--package-lock.json # → NPM lock file (never edit)
|--package.json # → Node.js dependencies and scripts
|--webpack.config.js # → Webpack config
|--yarn.lock # → Yarn lock file (never edit)
Copyright 2018-2019 Tomasz Bujnowicz under the MIT license.
webpack对代码的优化 减少打包的时间 优化loader //设置 exclude:/node_modules/ HappyPack happyPack可以将loader同步执行转为并行 DllPlugin 可以将特定的类库提前打包然后引入,减少打包类库的次数。只有类库更新才会重新打包 代码压缩 Uglyfy Mode 设置为production module.exports = { m
作用 由于每次生成的index.html还需要手动写死引入打包后的Js文件,并且html文件没有被压缩,所以需要使用此插件 使用 安装:npm i html-webpack-plugin -D 新建目录public,里面放入Index.html 在webpackbase设置里设置插件: const dev = require('./webpack.dev'); const prod = requi
作用 由于修改代码导致最后生产的文件会不同,所以需要每次生成文件前清空dist目录,这样防止无用文件越来越多或者避免手动清除。 使用 安装:npm i clean-webpack-plugin -D 进行配置,用法很简单,直接导入再new即可。 const {CleanWebpackPlugin}=require('clean-webpack-plugin'); plugins:[
前言 前端发展到今天已经从当初简单的几个网页发展到更多的是把网页视为WebApp的模式,当业务逻辑复杂到一定程度的时候,就不得不考虑项目的可维护性,项目的多人协同,如何降低风险等等诸多问题; 试想一下,一个网站如果仅有几个展示页面,那么其实不管怎么写都没有什么问题,但是一旦页面有几十,上百,或者说虽然只有十几个页面,但是有N多个功能模块,那么还是一通写到哪算哪,那么问题就大了,一旦业务需求变了,改
webpack是模块打包工具,它会自动分析模块之间的依赖关系,然后使用loaders处理它们,最后生成一个优化并合并后的静态资源 目的: 1.性能优化 2.减少浏览器向服务器的请求次数 3.节约服务器的带宽资源 webpack的使用: 1.webpack是基于Node.js,运行在Node.js环境下 使用webpack之前首先要搭建node环境 2.全局安装webpack: npm instal
什么是webpack? 文件打包工具 我这就以打包使用scss为例了哈: 具体步骤: 1。先要创建package.json; npm init -y 2.全局安装webpack npm i -g webpack 4.局部安装webpack npm i webpack -S 3.安装webpack-cli npm i webpack-cli 4.安装各需要用到的loa
前提 已经安装node和npm。 创建一个文件夹,这里创建的是webpacklearn文件,cd到该文件夹下,输入命令(快速初始化项目) npm init --yes 执行这个命令之后根目录下会多出一个package.json文件。 创建步骤 First 安装webpack及webpack-dev-server(用于开发的本地服务器) $ npm i -g webpack webpack-dev
1.clean-webpack-plugin webpack每次打包都会生成一个dist文件,默认本次打包不会清除上次打包的dist文件; clean-webpack-plugin 插件 就是这样由来的 每次生成代码之前 先将 dist 目录 清空; 安装: npm i clean-webpack-plugin -D 引入: const {CleanWebpackPlugin} = require
webpack & webpack-cli Error: Cannot find module 'webpack' Google site: stackoverfow UnhandledPromiseRejectionWarning: Error: Cannot find module 'webpack' https://www.npmjs.com/package/webpack-cli http
本文向大家介绍使用webpack打包React项目,怎么减小生成的js大小?相关面试题,主要包含被问及使用webpack打包React项目,怎么减小生成的js大小?时的应答技巧和注意事项,需要的朋友参考一下 打包优化的问题解决思路: 代码压缩: 代码分组 , 网络传输压缩gzip: 抽取css代码: 组件动态加载:
问题内容: 我不知道如何使用webpack从node_modules库中加载任何CSS,例如,我已经安装了传单,每次加载尝试均失败。 您能否提供示例如何从node_modules加载静态样式? 我当前的webpack配置如下。另外,我正在使用,我的项目scss文件运行良好,我也可以解析静态CSS文件或向其中添加内容吗? 在哪里加载leaflet.css,注释掉了以下错误: 问题答案: 对于遇到类似
问题内容: 我有: 我要捆绑的JS文件。 我想编译为CSS的LESS文件(将@imports解析为一个包)。 我希望将它们指定为两个单独的输入,并具有两个单独的输出(可能通过extract-text-webpack- plugin)。Webpack具有所有合适的插件/加载器来进行编译,但似乎不喜欢这种分离。 我已经看到了一些人的示例,这些人直接从JS需要他们的LESS文件,例如,其原因仅是告诉We
问题内容: 是否可以使用webpack定义全局变量以产生如下所示的结果: 我看到的所有示例都使用外部文件 问题答案: 有几种方法可以处理全局变量: 1)将变量放入模块中。 Webpack仅对模块进行一次评估,因此您的实例保持全局状态,并在模块之间进行更改。 因此,如果您创建像a之类的东西并导出所有全局变量的对象,则可以读取/写入这些全局变量。您可以导入一个模块,从功能中对对象进行更改,然后导入另一
问题内容: 假设我有这样的类(用打字稿编写),并将其与webpack捆绑在一起。 在我的index.html中,我将包含该捆绑包,但随后我也想调用该静态方法。 但是,在这种情况下,未定义。那我该如何从另一个脚本中调用捆绑的javascript? 问题答案: 看来您想将webpack捆绑包公开为一个库。您可以将webpack配置为在自己的变量(如)中在全局上下文中公开您的库。 我不知道TypeScr
问题内容: 我不确定将Angular Cli从SystemJs切换到Webpack后如何包括JS文件(供应商)。 例如 选项A 我有一些通过npm安装的js文件。 这样无法将脚本标签添加到head标签。似乎也不是最好的方法。 选项B 将这些js文件作为webpack捆绑包的一部分包含在内。这似乎是应该完成的方式。但是我不确定如何执行此操作,因为所有webpack代码似乎都隐藏在angular-cl