feat: webpack优化
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import path from 'path'
|
import path from "path";
|
||||||
const { GenerateSW } = require("workbox-webpack-plugin");
|
// const { GenerateSW } = require("workbox-webpack-plugin");
|
||||||
|
|
||||||
const config = {
|
const config = {
|
||||||
projectName: "cityh5",
|
projectName: "cityh5",
|
||||||
@@ -27,42 +27,53 @@ const config = {
|
|||||||
|
|
||||||
h5: {
|
h5: {
|
||||||
webpackChain(chain) {
|
webpackChain(chain) {
|
||||||
if (
|
chain.output.filename("static/js/[name].[contenthash:8].js");
|
||||||
process.env.NODE_ENV === "production" &&
|
chain.output.chunkFilename("static/js/[name].[contenthash:8].js");
|
||||||
!chain.plugins.has("workbox")
|
chain
|
||||||
) {
|
.plugin("MiniCssExtractPlugin")
|
||||||
chain.plugin("workbox").use(GenerateSW, [
|
.use(require("mini-css-extract-plugin"), [
|
||||||
{
|
{
|
||||||
clientsClaim: true,
|
filename: "static/css/[name].[contenthash:8].css",
|
||||||
skipWaiting: true,
|
chunkFilename: "static/css/[name].[contenthash:8].css",
|
||||||
maximumFileSizeToCacheInBytes: 10 * 1024 * 1024, // 10MB
|
|
||||||
runtimeCaching: [
|
|
||||||
{
|
|
||||||
urlPattern: /.*\.(?:png|jpg|jpeg|svg|gif|ico)/,
|
|
||||||
handler: "CacheFirst",
|
|
||||||
options: {
|
|
||||||
cacheName: "images-cache",
|
|
||||||
expiration: {
|
|
||||||
maxEntries: 50,
|
|
||||||
maxAgeSeconds: 30 * 24 * 60 * 60,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
urlPattern: /.*\.(?:js|css)/,
|
|
||||||
handler: "StaleWhileRevalidate",
|
|
||||||
options: {
|
|
||||||
cacheName: "static-resources",
|
|
||||||
expiration: {
|
|
||||||
maxEntries: 50,
|
|
||||||
maxAgeSeconds: 7 * 24 * 60 * 60,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
}
|
|
||||||
|
// if (
|
||||||
|
// process.env.NODE_ENV === "production" &&
|
||||||
|
// !chain.plugins.has("workbox")
|
||||||
|
// ) {
|
||||||
|
// chain.plugin("workbox").use(GenerateSW, [
|
||||||
|
// {
|
||||||
|
// clientsClaim: true,
|
||||||
|
// skipWaiting: true,
|
||||||
|
// maximumFileSizeToCacheInBytes: 10 * 1024 * 1024, // 10MB
|
||||||
|
// runtimeCaching: [
|
||||||
|
// {
|
||||||
|
// urlPattern: /.*\.(?:png|jpg|jpeg|svg|gif|ico)/,
|
||||||
|
// handler: "CacheFirst",
|
||||||
|
// options: {
|
||||||
|
// cacheName: "images-cache",
|
||||||
|
// expiration: {
|
||||||
|
// maxEntries: 50,
|
||||||
|
// maxAgeSeconds: 30 * 24 * 60 * 60,
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// urlPattern: /.*\.(?:js|css)/,
|
||||||
|
// handler: "StaleWhileRevalidate",
|
||||||
|
// options: {
|
||||||
|
// cacheName: "static-resources",
|
||||||
|
// expiration: {
|
||||||
|
// maxEntries: 50,
|
||||||
|
// maxAgeSeconds: 7 * 24 * 60 * 60,
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// ],
|
||||||
|
// },
|
||||||
|
// ]);
|
||||||
|
// }
|
||||||
chain.module
|
chain.module
|
||||||
.rule("markdown")
|
.rule("markdown")
|
||||||
.test(/\.md$/)
|
.test(/\.md$/)
|
||||||
@@ -80,7 +91,9 @@ const config = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
esnextModules: ["taro-ui"],
|
esnextModules: ["taro-ui"],
|
||||||
publicPath: "/",
|
// publicPath: "/",
|
||||||
|
publicPath: `/v${new Date().getTime()}/`,
|
||||||
|
|
||||||
staticDirectory: "static",
|
staticDirectory: "static",
|
||||||
postcss: {
|
postcss: {
|
||||||
autoprefixer: {
|
autoprefixer: {
|
||||||
@@ -125,13 +138,15 @@ const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
// 允许特定域名访问
|
// 允许特定域名访问
|
||||||
allowedHosts: [
|
allowedHosts: ["nomadyt.com", "localhost", ".nomadyt.com"], // 允许所有 *.nomadyt.com 子域访问
|
||||||
// 'bot.hackrobot.cn'
|
|
||||||
"nomadyt.com",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
htmlPluginOption: {
|
htmlPluginOption: {
|
||||||
favicon: path.resolve(__dirname, "..", "src", "images", "youtube.ico"), // 同样处理 favicon 路径
|
favicon: path.resolve(__dirname, "..", "src", "images", "youtube.ico"), // 同样处理 favicon 路径
|
||||||
|
meta: {
|
||||||
|
"cache-control": "no-cache, no-store, must-revalidate",
|
||||||
|
pragma: "no-cache",
|
||||||
|
expires: "0",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
target: ["web", "browserslist:> 0.25%, not dead"],
|
target: ["web", "browserslist:> 0.25%, not dead"],
|
||||||
|
|||||||
@@ -268,6 +268,62 @@ youtube官方,算法会检测到刷量行为,不仅会有清空,还有封号的
|
|||||||
|
|
||||||
---
|
---
|
||||||
# 硬件设备与剪辑软件
|
# 硬件设备与剪辑软件
|
||||||
|
|
||||||
|
## 4k高清
|
||||||
|
|
||||||
|
> 使用`剪映`进行剪辑
|
||||||
|
|
||||||
|
在商业软件中,剪映,已对普通创者者做了优化
|
||||||
|
|
||||||
|
不用像专业的剪辑师一样,了解adobe的各种理念和操作
|
||||||
|
|
||||||
|
<img title="" src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/2025-04-02-04-22-07-%E5%89%AA%E6%98%A0%E5%AE%98%E7%BD%91-%E5%85%A8%E8%83%BD%E6%98%93%E7%94%A8%E7%9A%84%E6%A1%8C%E9%9D%A2%E7%AB%AF%E5%89%AA%E8%BE%91%E8%BD%AF%E4%BB%B6-%E8%BD%BB%E8%80%8C%E6%98%93%E5%89%AA%20%E4%B8%8A%E6%BC%94%E5%A4%A7%E5%B9%95.png?imageSlim" alt="2025-04-02-04-22-07-剪映官网-全能易用的桌面端剪辑软件-轻而易剪 上演大幕.png" width="389">
|
||||||
|
|
||||||
|
运营youtube的细节是
|
||||||
|
|
||||||
|
- 输出成4K高清,AI 补帧
|
||||||
|
|
||||||
|
- 生成srt字幕 (支持双语)
|
||||||
|
|
||||||
|
当然,开源免费的剪辑软件也有[shotcut](https://github.com/mltframework/shotcut)
|
||||||
|
|
||||||
|
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/2025-04-02-04-26-38-mltframework_shotcut_%20cross-platform%20(Qt)%2C%20open-source%20(GPLv3)%20video%20editor.png?imageSlim" title="" alt="2025-04-02-04-26-38-mltframework_shotcut_ cross-platform (Qt), open-source (GPLv3) video editor.png" width="406">
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 游戏笔记本
|
||||||
|
|
||||||
|
> 使用`显卡`渲染
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<img src="https://hackrobot-1258475618.cos.ap-shenzhen-fsi.myqcloud.com/wddwfwegewg.jpg?imageSlim" title="" alt="wddwfwegewg.jpg" width="400">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
建议入手一个`游戏笔记本`,其最低可以包含
|
||||||
|
|
||||||
|
- 8GB显卡
|
||||||
|
|
||||||
|
- 1TB固态硬盘
|
||||||
|
|
||||||
|
- 2k高清显示屏
|
||||||
|
|
||||||
|
这对剪辑视频来说,可以大大节省时间,也避免了硬盘空间的不足的情况
|
||||||
|
|
||||||
|
当然,从性价比来说,品牌肯定不是适合电竞的`外星人`,而是`机械革命`之类
|
||||||
|
|
||||||
|
> 配件:`视频采集卡`
|
||||||
|
|
||||||
|
如果不是拍摄,而是录制屏幕,制作教程类
|
||||||
|
|
||||||
|
可以准备1个视频采集卡,最好有hdml`环出`功能
|
||||||
|
|
||||||
|
这样可以在硬件间进行录制,而不影响主屏幕
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
# 开通Adsense:接收PIN码实体信
|
# 开通Adsense:接收PIN码实体信
|
||||||
# 收款:银行卡与结汇
|
# 收款:银行卡与结汇
|
||||||
# 24小时无人直播
|
# 24小时无人直播
|
||||||
|
|||||||
Reference in New Issue
Block a user