function reverseObject(obj) { const reversed = {}; for (const key in obj) { if (Object.hasOwnProperty.call(obj, key)) { const value = obj[key]; const type = typeof value; // 只有在值的类型为 string 或 number 时才进行反转 if (type === 'string' || type === 'number') { reversed[value] = key; } else { console.warn(`Value "${value}" with type "${type}" is not supported as a key.`); } } } return reversed; }
new Promise((resolve, reject) => { console.log(1) resolve(true); console.log(2); throw new Error('err'); reject(false); console.log(3) }).catch(ex => console.log(ex)) .then(res => console.log(res))
interface Todo { title: string; description: string; completed: boolean; createdAt: number; } // 只包含 title 和 description 字段的部分接口 type TodoTitleDescriptionOnly = Partial<Pick<Todo, 'title' | 'description'>>;
type Pick<T, K extends keyof T> = { [P in K]: T[P]; };
【Webpack】
module.exports = { // 其他配置项... optimization: { splitChunks: { chunks: 'all', // 指定哪些模块会被拆分,默认值是 async,表示只会拆分异步加载的模块 minSize: 20000, // 模块最小大小,小于这个大小的模块不会被拆分,默认值是 30000 minChunks: 1, // 模块最少被引用的次数,只有被引用次数大于等于这个值的模块才会被拆分,默认值是 1 maxAsyncRequests: 5, // 按需加载的模块最大并行请求数,默认值是 5 maxInitialRequests: 3, // 初始加载时的模块最大并行请求数,默认值是 3 automaticNameDelimiter: '~', // 自动命名生成的文件名中,不同部分之间的分隔符,默认值是 ~ name: true, // 启用自动命名,默认值是 true cacheGroups: { vendors: { test: /[\/]node_modules[\/]/, // 匹配需要拆分的模块路径的正则表达式 priority: -10, // 缓存组的优先级,数值越大,优先级越高,默认值是 0 filename: 'vendors.js' // 拆分出来的文件名 }, default: { minChunks: 2, // 默认缓存组的模块最少被引用的次数,默认值是 2 priority: -20, // 默认缓存组的优先级,默认值是 -20 reuseExistingChunk: true // 允许复用已经存在的 chunk,默认值是 true } } } } };
webpack配置optimization详解_webpack optimization-CSDN博客
【HTML】
【计算机网络】
【package.json】/冷门啊。。。
dependencies
、devDependencies
和 peerDependencies
的区别dependencies: 这是项目运行时所需的依赖项,即使在生产环境中也需要。这些依赖项会被安装到 node_modules 目录中devDependencies: 这是开发阶段所需的依赖项,仅在开发时需要。比如测试框架、构建工具等。这些依赖项不会被部署到生产环境中。peerDependencies:
这是指定项目需要依赖的"对等"依赖项。意味着你的模块(库)需要和另一个模块(库)一起使用,但不会将这些依赖项安装到 node_modules 目录中。相反,它期望用户将这些依赖项安装到他们的项目中,以确保版本兼容性。在使用 npm install 命令时,dependencies 和 devDependencies 会一起安装,而 peerDependencies 则需要手动安装,或者由具体的包管理器(如 npm 或 yarn)处理。【手写】