{"id":19069575,"url":"https://github.com/srect/webpack5_demo","last_synced_at":"2026-05-17T04:30:15.981Z","repository":{"id":114173331,"uuid":"353627762","full_name":"sRect/webpack5_demo","owner":"sRect","description":"webpack5 + babel7","archived":false,"fork":false,"pushed_at":"2021-12-29T08:02:27.000Z","size":304,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-02T15:45:20.070Z","etag":null,"topics":["babel7","webpack5"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sRect.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-01T08:22:47.000Z","updated_at":"2021-12-29T08:01:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"aee0fa36-29c2-4db7-b228-a9ce756e01da","html_url":"https://github.com/sRect/webpack5_demo","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/sRect%2Fwebpack5_demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sRect%2Fwebpack5_demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sRect%2Fwebpack5_demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sRect%2Fwebpack5_demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sRect","download_url":"https://codeload.github.com/sRect/webpack5_demo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240122573,"owners_count":19751142,"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":["babel7","webpack5"],"created_at":"2024-11-09T01:14:49.071Z","updated_at":"2026-05-17T04:30:15.921Z","avatar_url":"https://github.com/sRect.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## webpack5.x + babel7实践\n\n### package.json\n```json\n{\n  \"scripts\": {\n    \"build:dev\": \"webpack --env development --progress\",\n    \"build:pro\": \"webpack --env production --progress\",\n    \"serve\": \"webpack serve --env development --progress\"\n  },\n  \"devDependencies\": {\n    \"webpack\": \"^5.28.0\",\n    \"webpack-cli\": \"^4.6.0\",\n    \"webpack-dev-server\": \"^3.11.2\"\n  }\n}\n```\n\n### webpack.config.js\n```javascript\nmodule.exports = env =\u003e ({\n  mode: env.development ? \"development\" : \"production\",\n  devtool: env.development \u0026\u0026 \"cheap-module-source-map\",\n  target: \"web\", // 默认为 'web'，可省略\n  stats: \"errors-warnings\", // 只在发生错误或有新的编译时输出 https://webpack.docschina.org/configuration/stats/\n  entry: path.resolve(__dirname, \"./src/index.js\"),\n  output: {\n    path: path.resolve(__dirname, \"dist\"),\n    filename: \"[name].[fullhash:8].js\",\n    publicPath: \"/\",\n  },\n  module: {\n    noParse: /jquery|lodash/,\n    rules: [\n      {\n        test: /\\.js$/,\n        use: \"babel-loader\",\n        exclude: /node_modules/,\n      },\n    ],\n  },\n  plugins: [\n    new HtmlWebpackPlugin({\n      title: \"webpack5-demo\",\n      filename: \"index.html\",\n      template: path.resolve(__dirname, \"./public/index.html\"),\n    }),\n  ],\n  // https://webpack.docschina.org/configuration/dev-server/#root\n  devServer: {\n    contentBase: path.resolve(__dirname, \"./dist\"),\n    port: 9000,\n    host: \"localhost\",\n    compress: true,\n    open: true,\n    hot: true,\n    inline: true,\n    historyApiFallback: true,\n  },\n})\n```\n\n### .babelrc\n```json\n// 不容错过的 Babel7 知识 \n// https://juejin.cn/post/6844904008679686152?utm_source=gold_browser_extension%3Futm_source%3Dgold_browser_extension#heading-0\n// Show me the code，babel 7 最佳实践！ \n// https://juejin.cn/post/6844903729188044814#heading-0\n{\n  \"presets\": [\n    // 首先安装 npm i @babel/core @babel/preset-env babel-loader -D\n    // 再安装 npm i core-js @babel/polyfill -S\n    [\"@babel/preset-env\", {\n      \"modules\": false, // 模块使用 es modules ，不使用 commonJS 规范\n      \"useBuiltIns\": \"usage\", // 按需引入 polyfill\n      \"corejs\": 3\n    }],\n    // 安装 npm i @babel/preset-react -D\n    \"@babel/preset-react\"\n  ],\n  \"plugins\": [\n    // 首先安装 npm i @babel/plugin-transform-runtime -D\n    // 然后再安装 npm i @babel/runtime -S\n    [\"@babel/plugin-transform-runtime\", {\n      \"corejs\": false, // 如果要指定版本，例如填 3，就要安装 npm i @babel/runtime-corejs3 -S，配置了指定版本后，打包后，体积会变大\n      \"helpers\": true, // 默认，可以不写\n      \"regenerator\": false, // 通过 preset-env 已经使用了全局的 regeneratorRuntime, 不再需要 transform-runtime 提供的 不污染全局的 regeneratorRuntime\n      \"useESModules\": true // 使用 es modules helpers, 减少 commonJS 语法代码\n    }]\n  ]\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrect%2Fwebpack5_demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrect%2Fwebpack5_demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrect%2Fwebpack5_demo/lists"}