From 87fffa4f3781f8a9660a00eacee19837c9bd7491 Mon Sep 17 00:00:00 2001 From: hackrobot Date: Wed, 2 Apr 2025 04:34:52 -0500 Subject: [PATCH] =?UTF-8?q?feat:=20webpack=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/index.js | 95 ++++++++++++++++++++++++------------------ src/pages/book/info.md | 56 +++++++++++++++++++++++++ 2 files changed, 111 insertions(+), 40 deletions(-) diff --git a/config/index.js b/config/index.js index 99f6090..ae91c6a 100644 --- a/config/index.js +++ b/config/index.js @@ -1,5 +1,5 @@ -import path from 'path' -const { GenerateSW } = require("workbox-webpack-plugin"); +import path from "path"; +// const { GenerateSW } = require("workbox-webpack-plugin"); const config = { projectName: "cityh5", @@ -27,42 +27,53 @@ const config = { h5: { webpackChain(chain) { - if ( - process.env.NODE_ENV === "production" && - !chain.plugins.has("workbox") - ) { - chain.plugin("workbox").use(GenerateSW, [ + chain.output.filename("static/js/[name].[contenthash:8].js"); + chain.output.chunkFilename("static/js/[name].[contenthash:8].js"); + chain + .plugin("MiniCssExtractPlugin") + .use(require("mini-css-extract-plugin"), [ { - 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, - }, - }, - }, - ], + filename: "static/css/[name].[contenthash:8].css", + chunkFilename: "static/css/[name].[contenthash:8].css", }, ]); - } + + // 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 .rule("markdown") .test(/\.md$/) @@ -80,7 +91,9 @@ const config = { }, esnextModules: ["taro-ui"], - publicPath: "/", + // publicPath: "/", + publicPath: `/v${new Date().getTime()}/`, + staticDirectory: "static", postcss: { autoprefixer: { @@ -125,13 +138,15 @@ const config = { }, }, // 允许特定域名访问 - allowedHosts: [ - // 'bot.hackrobot.cn' - "nomadyt.com", - ], + allowedHosts: ["nomadyt.com", "localhost", ".nomadyt.com"], // 允许所有 *.nomadyt.com 子域访问 }, htmlPluginOption: { 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"], diff --git a/src/pages/book/info.md b/src/pages/book/info.md index 75e3c1f..4cccd83 100644 --- a/src/pages/book/info.md +++ b/src/pages/book/info.md @@ -268,6 +268,62 @@ youtube官方,算法会检测到刷量行为,不仅会有清空,还有封号的 --- # 硬件设备与剪辑软件 + +## 4k高清 + +> 使用`剪映`进行剪辑 + +在商业软件中,剪映,已对普通创者者做了优化 + +不用像专业的剪辑师一样,了解adobe的各种理念和操作 + +2025-04-02-04-22-07-剪映官网-全能易用的桌面端剪辑软件-轻而易剪 上演大幕.png + +运营youtube的细节是 + +- 输出成4K高清,AI 补帧 + +- 生成srt字幕 (支持双语) + +当然,开源免费的剪辑软件也有[shotcut](https://github.com/mltframework/shotcut) + +2025-04-02-04-26-38-mltframework_shotcut_ cross-platform (Qt), open-source (GPLv3) video editor.png + +--- + +## 游戏笔记本 + +> 使用`显卡`渲染 + + + + +wddwfwegewg.jpg + + + +建议入手一个`游戏笔记本`,其最低可以包含 + +- 8GB显卡 + +- 1TB固态硬盘 + +- 2k高清显示屏 + +这对剪辑视频来说,可以大大节省时间,也避免了硬盘空间的不足的情况 + +当然,从性价比来说,品牌肯定不是适合电竞的`外星人`,而是`机械革命`之类 + +> 配件:`视频采集卡` + +如果不是拍摄,而是录制屏幕,制作教程类 + +可以准备1个视频采集卡,最好有hdml`环出`功能 + +这样可以在硬件间进行录制,而不影响主屏幕 + + +--- # 开通Adsense:接收PIN码实体信 # 收款:银行卡与结汇 # 24小时无人直播