-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
webpack 多页面构建 #11
Comments
学习了,给楼主点个赞! |
谢谢了,真的很有帮助。 |
good |
Good! |
npm run dev 出现了这个问题 Refused to apply inline style because it violates the following Content Security Policy directive: "default-src 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-cEmJ9wfQpnZLR35+jGeZk1WmknBbXo0CyiXREeJHUGo='), or a nonce ('nonce-...') is required to enable inline execution. Note also that 'style-src' was not explicitly set, so 'default-src' is used as a fallback. |
get |
是否遇到多次运行会重复插入script 脚本情况呢 |
目标:
配置文件编写(webpack.config.js)
示例:
Webpack的配置主要包括以下几大项目:
entry:js入口源文件
多入口配置
为了使用多入口文件,你可以给entry传入一个对象。对象的key代表入口点名字,value代表入口点。当使用多入口点的时候,需要重载output.filename,否责每个入口点都写入到同一个输出文件里面了。使用[name]来得到入口点名字。
例子:
output:生成文件
output参数是个对象,定义了输出文件的位置及名字.
例子:
module:模块加载器
在webpack中JavaScript,CSS,LESS,TypeScript,JSX,CoffeeScript,图片等静态文件都是模块,不同模块的加载是通过模块加载器(webpack-loader)来统一管理的。loaders之间是可以串联的,一个加载器的输出可以作为下一个加载器的输入,最终返回到JavaScript上。
例子:
多个loader可以用在同一个文件上并且被链式调用。链式调用时从右到左执行且loader之间用“!”来分割。
模块加载器(loader)自身可以根据传入不同的参数进行配置。
resolve:文件路径的指向
webpack在构建包的时候会按目录的进行文件的查找,resolve属性中的extensions数组中用于配置程序可以自行补全哪些文件后缀:
例子:
plugins:插件,比loader更强大,能使用更多webpack的api
插件一般都是用于输出bundle的node模块。例如,uglifyJSPlugin获取bundle.js然后压缩和混淆内容以减小文件体积。类似的extract-text-webpack-plugin内部使用css-loader和style-loader来收集所有的css到一个地方最终将结果提取结果到一个独立的”styles.css“文件,并且在html里边引用style.css文件。
例子:
code-splitting 插件CommonsChunkPlugin
将多次引用的模块单独打包
多页面 html 生成插件 html-webpack-plugin
例子:
src目录下有个template.html文件,无需引入任何css和js,webpack会自动帮我们打包引入,
<%= htmlWebpackPlugin.options.title %>
读取配置好的页面标题最终通过打包,会生成对应入口的html文件,
比如src/view/index/index.js会生成view/index/index.html
你会发现相关资源文件都自动引入了,十分便捷。
webpack 常用命令
webpack dev server
配置示例:
用处
配置
Content Base
如果不进行设定的话,服务器伺服默认是在当前目录下。
命令行设置
webpack-dev-server --content-base build/
webpack 配置
publicPath
自动更新和热替换
配置:
关键配置:
config.entry.app.unshift("webpack-dev-server/client?http://localhost:8080/", "webpack/hot/dev-server");
在每个入口文件注入 client websocket 热加载脚本。
参考文档:
webpack 多页面构建
webpack react generator
5. generator-react-webpack
webpack 构建优化
6. 开发工具心得:如何 10 倍提高你的 Webpack 构建效率
7. webpack使用优化(基本篇)
8. webpack使用优化(react篇)
9. webpack 的 dll 功能
10. https://zhuanlan.zhihu.com/p/21748318
webpack-dev-server
11. webpack-dev-server使用方法
12. WEBPACK DEV SERVER
多入口以及code-splitting
13. webpack multiple-entry-points example
14. MULTIPLE ENTRY POINTS
15. CODE SPLITTING
webpack 配置
16.详解前端模块化工具-Webpack 不错的文章
17. 【翻译】Webpack——令人困惑的地方好文章
webpack CommonsChunkPlugin详细教程
18.webpack CommonsChunkPlugin详细教程
The text was updated successfully, but these errors were encountered: