{"id":17655834,"url":"https://github.com/51talk-design/freedom-middleware-webpack4","last_synced_at":"2025-04-14T15:52:07.595Z","repository":{"id":57093730,"uuid":"219298165","full_name":"51talk-design/freedom-middleware-webpack4","owner":"51talk-design","description":"基于webpack4封装的支持vue、react等各类技术栈构建编译中间件","archived":false,"fork":false,"pushed_at":"2020-09-05T01:56:29.000Z","size":22,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T04:41:39.592Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/51talk-design.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-03T12:34:18.000Z","updated_at":"2021-09-08T09:26:34.000Z","dependencies_parsed_at":"2022-08-22T21:40:22.500Z","dependency_job_id":null,"html_url":"https://github.com/51talk-design/freedom-middleware-webpack4","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/51talk-design%2Ffreedom-middleware-webpack4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/51talk-design%2Ffreedom-middleware-webpack4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/51talk-design%2Ffreedom-middleware-webpack4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/51talk-design%2Ffreedom-middleware-webpack4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/51talk-design","download_url":"https://codeload.github.com/51talk-design/freedom-middleware-webpack4/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248539906,"owners_count":21121257,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-23T13:08:12.574Z","updated_at":"2025-04-14T15:52:07.569Z","avatar_url":"https://github.com/51talk-design.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"### freedom-middleware-webpack4构建中间件\n\n中间件统一管理了项目开发中大概95%以上的构建配置。在对项目构建时，中间件会自动合并项目中的webpack.config.js(**构建项目必须存在的webpack扩展约束文件**)文件，然后进行项目的构建。\n\n[![npm](https://img.shields.io/npm/l/@51npm/freedom-middleware-webpack4.svg)](LICENSE)\n[![NPM Version](https://img.shields.io/npm/v/@51npm/freedom-middleware-webpack4.svg)](https://www.npmjs.com/package/@51npm/freedom-middleware-webpack4)\n[![npm](https://img.shields.io/npm/dt/@51npm/freedom-middleware-webpack4.svg)](https://www.npmjs.com/package/@51npm/freedom-middleware-webpack4)\n\n\n### Freedom-middleware-webpack4构建中间件支持构建的项目\n\n- 使用less、sass、ts、vue、react、ejs,jade以及es6开发的项目\n- 中间件生成的webpack.config.js：**允许开发者根据项目需要自行扩展构建配置或者覆盖中间件本身的配置**\n- 中间件生成的.babelrc文件：**允许开发者自行定义babel相关构建配置**\n- 中间件生成的tsconfig.json：**允许开发者自行定义ts编译选项**\n- postcss.config.js：**允许开发者自行定义样式处理方式**\n\n### freedom-middleware-webpack4安装\n\n```\nnpm install @51npm/freedom-middleware-webpack4\n```\n\n### freedom-middleware-webpack4构建中间件使用\n\n```js\nvar webpackBuild = require(\"@51npm/freedom-middleware-webpack4\");\n(async function () {\n  var params = {\n    port: 9090,\n    env: \"dev\",//环境变量，dev:开发环境；prod：生成环境\n    srcDir:\"src\",\n    entryDir:\"./src/scripts/entry\",//编译入口目录，会跟src组装一起/src/entry\n    publicPath: `//{域名}/oneTomany/0.0.1`,\n    build: `./build`,//生产环境prod构建的资源存放的目录，在dev环境中该值忽略\n    proxy: {\n      context: [\"/api\", \"/auth\",\"/award\"],\n      options: {\n        target: 'http://localhost:8080'\n      }\n    }\n  };\n  await webpackBuild(params);\n})();\n```\n\n### Freedom-middleware-webpack4构建中间件的参数说明\n\n```js\n{\n  \"root\":\"\",//根目录，不写默认为process.cwd()\n  \"port\":\"本地环境dev启动的端口后\",\n  \"env\":\"环境变量，dev:开发环境；prod：生成环境\",\n  \"srcDir\": \"src\",// 源码目录，默认源码目录为：process.cwd()\n  \"entryDir\":\"./src/scripts/entry\",//webpack编译入口目录，为srcDir源码目录中的相对目录，跟srcDir一起构成完成的编译目录\n  \"publicPath\":\"构建资源的替换路径，比如：css中的图片路径\",\n  \"build\":\"生产环境prod构建的资源存放的目录，在dev环境中该值忽略\",\n  \"proxy\":{ //反向代理设置\n    \"context\":[\"/api\", \"/auth\",\"/award\"],//要拦截的url\n    \"options\":{ //设置代理端口\n      \"target\": 'http://localhost:8080'\t\n    }\n  }\n}\n```\n\n**dev环境下，文件编译的目录存储于根目录下的__build目录**\n\n### 备注\n\n构建项目下必须要有webpack.config.js文件，配置(**webpack的配置格式**)如下:\n\n```js\nmodule.exports = function () {\n  var extendConf = {\n    plugins: [\n      \n    ],\n    resolve: {\n     \n    },\n    module: {\n      rules: [\n        \n      ]\n    }\n  };\n  return extendConf;\n};\n```\n\n### 版本更新说明\n| 发布时间   | 发布版本 | 发布功能       |\n| ---------- | -------- | -------------- |\n| 2020-06-16 | 1.0.8    | 修改readme说明 |\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F51talk-design%2Ffreedom-middleware-webpack4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F51talk-design%2Ffreedom-middleware-webpack4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F51talk-design%2Ffreedom-middleware-webpack4/lists"}