{"_id":"webpack-replace-loader","_rev":"2933318","name":"webpack-replace-loader","description":"A loader for replacing strings && 一个 Webpack 打包时用来替换字符串的 Loader ","dist-tags":{"latest":"1.3.0"},"maintainers":[{"name":"jason_li","email":"1298947916@qq.com"}],"time":{"modified":"2023-03-27T02:33:25.000Z","created":"2017-10-24T01:50:57.997Z","1.3.0":"2017-11-22T09:19:32.985Z","1.2.9":"2017-11-20T00:30:15.953Z","1.2.8":"2017-10-24T06:22:09.609Z","1.2.5":"2017-10-24T03:11:16.965Z","1.2.4":"2017-10-24T01:50:57.997Z"},"users":{},"author":{"name":"beautifulBoys","email":"1298947916.com"},"repository":{"type":"git","url":"git+https://github.com/beautifulBoys/webpack-replace-loader.git"},"versions":{"1.3.0":{"name":"webpack-replace-loader","version":"1.3.0","author":{"name":"beautifulBoys","email":"1298947916.com"},"description":"A loader for replacing strings && 一个 Webpack 打包时用来替换字符串的 Loader ","keywords":["webpack","loader","webpack-loader","replace","replace-string"],"scripts":{},"main":"index.js","dependencies":{"loader-utils":"^1.1.0"},"devDependencies":{"webpack":"1 || 2 || 3"},"repository":{"type":"git","url":"git+https://github.com/beautifulBoys/webpack-replace-loader.git"},"private":false,"gitHead":"5eb0d43167826fa04d3c28999012da034b77c521","bugs":{"url":"https://github.com/beautifulBoys/webpack-replace-loader/issues"},"homepage":"https://github.com/beautifulBoys/webpack-replace-loader#readme","_id":"webpack-replace-loader@1.3.0","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"jason_li","email":"1298947916@qq.com"},"dist":{"shasum":"fa0473029cd13d74e095f33bc49aac47b88509bf","size":118355,"noattachment":false,"key":"/webpack-replace-loader/-/webpack-replace-loader-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/webpack-replace-loader/download/webpack-replace-loader-1.3.0.tgz"},"maintainers":[{"name":"jason_li","email":"1298947916@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/webpack-replace-loader-1.3.0.tgz_1511342372872_0.4700040991883725"},"directories":{},"_cnpmcore_publish_time":"2021-12-22T01:49:04.646Z","publish_time":1511342372985,"_cnpm_publish_time":1511342372985},"1.2.9":{"name":"webpack-replace-loader","version":"1.2.9","author":{"name":"beautifulBoys","email":"1298947916.com"},"description":"A loader for replacing strings && 一个 Webpack 打包时用来替换字符串的 Loader ","keywords":["webpack","loader","webpack-loader","replace","replace-string"],"scripts":{},"main":"index.js","dependencies":{"loader-utils":"^1.1.0"},"devDependencies":{"webpack":"1 || 2 || 3"},"repository":{"type":"git","url":"git+https://github.com/beautifulBoys/webpack-replace-loader.git"},"private":false,"gitHead":"8d4702718f907e1129b064bce4d22081524545b8","bugs":{"url":"https://github.com/beautifulBoys/webpack-replace-loader/issues"},"homepage":"https://github.com/beautifulBoys/webpack-replace-loader#readme","_id":"webpack-replace-loader@1.2.9","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"jason_li","email":"1298947916@qq.com"},"dist":{"shasum":"05657f6e1d9b6595f804a4b9b92d033576c747c3","size":5689,"noattachment":false,"key":"/webpack-replace-loader/-/webpack-replace-loader-1.2.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/webpack-replace-loader/download/webpack-replace-loader-1.2.9.tgz"},"maintainers":[{"name":"jason_li","email":"1298947916@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/webpack-replace-loader-1.2.9.tgz_1511137815846_0.0037064016796648502"},"directories":{},"_cnpmcore_publish_time":"2021-12-22T01:49:04.532Z","publish_time":1511137815953,"_cnpm_publish_time":1511137815953},"1.2.8":{"name":"webpack-replace-loader","version":"1.2.8","author":{"name":"beautifulBoys","email":"1298947916.com"},"description":"A loader for replacing strings && 一个 Webpack 打包时用来替换字符串的 Loader ","keywords":["webpack","loader","webpack-loader","replace","replace-string"],"scripts":{},"main":"index.js","dependencies":{"loader-utils":"^1.1.0"},"devDependencies":{"webpack":"1 || 2 || 3"},"repository":{"type":"git","url":"git+https://github.com/beautifulBoys/webpack-replace-loader.git"},"private":false,"gitHead":"b03e959910814dd1937f395fbbfdb3213a73494c","bugs":{"url":"https://github.com/beautifulBoys/webpack-replace-loader/issues"},"homepage":"https://github.com/beautifulBoys/webpack-replace-loader#readme","_id":"webpack-replace-loader@1.2.8","_npmVersion":"5.5.1","_nodeVersion":"6.10.3","_npmUser":{"name":"jason_li","email":"1298947916@qq.com"},"dist":{"shasum":"596a802457593341299574444e680cb6f975364c","size":5698,"noattachment":false,"key":"/webpack-replace-loader/-/webpack-replace-loader-1.2.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/webpack-replace-loader/download/webpack-replace-loader-1.2.8.tgz"},"maintainers":[{"name":"jason_li","email":"1298947916@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/webpack-replace-loader-1.2.8.tgz_1508826129559_0.17629598500207067"},"directories":{},"_cnpmcore_publish_time":"2021-12-22T01:49:03.653Z","publish_time":1508826129609,"_cnpm_publish_time":1508826129609},"1.2.5":{"name":"webpack-replace-loader","version":"1.2.5","description":"A loader for replace string by webpack","main":"index.js","keywords":["webpack","loader","webpack-loader","replace","replace-string"],"directories":{"doc":"docs","example":"example"},"dependencies":{"loader-utils":"^1.1.0"},"devDependencies":{"webpack":"1 || 2 || 3"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/beautifulBoys/webpack-replace-loader.git"},"author":{"name":"beautifulBoys","email":"1298947916.com"},"license":"MIT","bugs":{"url":"https://github.com/beautifulBoys/webpack-replace-loader/issues"},"homepage":"https://github.com/beautifulBoys/webpack-replace-loader#readme","_id":"webpack-replace-loader@1.2.5","_npmVersion":"5.5.1","_nodeVersion":"6.10.3","_npmUser":{"name":"jason_li","email":"1298947916@qq.com"},"dist":{"shasum":"a5ad39272cdd8ee1c3f6ef1a5e80205a9b100834","size":2834,"noattachment":false,"key":"/webpack-replace-loader/-/webpack-replace-loader-1.2.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/webpack-replace-loader/download/webpack-replace-loader-1.2.5.tgz"},"maintainers":[{"name":"jason_li","email":"1298947916@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/webpack-replace-loader-1.2.5.tgz_1508814676898_0.6895530682522804"},"_cnpmcore_publish_time":"2021-12-22T01:49:02.766Z","publish_time":1508814676965,"_cnpm_publish_time":1508814676965},"1.2.4":{"name":"webpack-replace-loader","version":"1.2.4","description":"A loader for replace string by webpack","main":"index.js","keywords":["webpack","loader","webpack-loader","replace","replace-string"],"directories":{"doc":"docs","example":"example"},"dependencies":{"loader-utils":"^1.1.0"},"devDependencies":{"webpack":"1 || 2 || 3"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/beautifulBoys/webpack-replace-loader.git"},"author":{"name":"beautifulBoys","email":"1298947916.com"},"license":"MIT","bugs":{"url":"https://github.com/beautifulBoys/webpack-replace-loader/issues"},"homepage":"https://github.com/beautifulBoys/webpack-replace-loader#readme","_id":"webpack-replace-loader@1.2.4","_npmVersion":"5.5.1","_nodeVersion":"6.10.3","_npmUser":{"name":"jason_li","email":"1298947916@qq.com"},"dist":{"shasum":"0d13e9c374ef19757033e6c8c00ab1bf69f4e631","size":2705,"noattachment":false,"key":"/webpack-replace-loader/-/webpack-replace-loader-1.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/webpack-replace-loader/download/webpack-replace-loader-1.2.4.tgz"},"maintainers":[{"name":"jason_li","email":"1298947916@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/webpack-replace-loader-1.2.4.tgz_1508809857920_0.5027969675138593"},"_cnpmcore_publish_time":"2021-12-22T01:49:01.915Z","publish_time":1508809857997,"_cnpm_publish_time":1508809857997}},"readme":"# webpack-replace-loader\r\n> 一个 webpack 打包时用来替换字符串的 webpack-loader 。\r\n\r\n[中文文档](https://github.com/beautifulBoys/webpack-replace-loader)　　 [English document](https://github.com/beautifulBoys/webpack-replace-loader/tree/master/docs)\r\n\r\n## 使用场景举例\r\n1 . 在使用 webpack 项目打包的时候，用来将开发环境的请求 URL 替换为 生产环境的 URL 。\r\n\r\n2 . 项目统一查找调整页面配色样式 `color` , 将 `#00ff00` 替换为 `#ff0700` 。\r\n\r\n3 . 大型项目中，依照打包策略在相关文件中写入不同内容。\r\n\r\n\r\n## 安装\r\n\r\n将 `webpack-replace-loader` 作为依赖安装到项目:\r\n```shell\r\n npm install webpack-replace-loader --save-dev\r\n```\r\n## 配置使用\r\n配置webpack打包策略：\r\n```js\r\nmodule: {\r\n  loaders: [\r\n    ...\r\n    {\r\n      test: /test\\.js$/,\r\n      loader: 'webpack-replace-loader',\r\n      options: {\r\n        arr: [\r\n          {search: '$BaseUrl', replace: 'https://test.baiduu.com', attr: 'g'},\r\n          {search: '$Title', replace: '社会主义核心价值观', attr: 'g'}\r\n        ]\r\n      }\r\n    }\r\n    ...\r\n  ]\r\n}\r\n```\r\n\r\n## 示例\r\n test.js :\r\n ```js\r\n  var title = '$Title';\r\n  function showTitle () {\r\n    document.title = title;\r\n  }\r\n ```\r\n 通过以上 `webpack` 配置打包后生成 test.js ：\r\n\r\n```js\r\nvar title = '社会主义核心价值观';\r\nfunction showTitle() {\r\n  document.title = title;\r\n}\r\n```\r\n在上例中，`$Title` 的作用仅仅是提供一个查找字符串的 锚点 ，并没有实际意义。\r\n\r\n## Webpack 的其他配置方法\r\n1 . 将 a.js 中的 BaseUrl 只替换第一个为 https://www.baidu.com/api/ ; Title 全部替换为 \" 百度开放接口 \" 。\r\n\r\n2 . 将 b.js 中的 Location 全部替换为 \" BeiJing \" 。\r\n\r\n```js\r\nmodule: {\r\n  loaders: [\r\n    ...\r\n    {\r\n      test: /a\\.js$/,\r\n      loader: 'webpack-replace-loader',\r\n      options: {\r\n        arr: [\r\n          {search: 'BaseUrl', replace: 'https://www.baidu.com/api/'},\r\n          {search: 'Title', replace: '百度开放接口', attr: 'g'}\r\n        ]\r\n      }\r\n    },\r\n    {\r\n      test: /b\\.js$/,\r\n      loader: 'webpack-replace-loader',\r\n      options: {\r\n        search: 'Location',\r\n        replace: 'https://www.baidu.com/api/',\r\n        attr: 'g'\r\n      }\r\n    }\r\n    ...\r\n  ]\r\n}\r\n```\r\n只要你的替换锚点不相同，你也可以合并写：\r\n\r\n```js\r\nmodule: {\r\n  loaders: [\r\n    ...\r\n    {\r\n      test: /(a\\.js|b.js|c\\.js)$/,\r\n      loader: 'webpack-replace-loader',\r\n      options: {\r\n        arr: [\r\n          {search: 'BaseUrl', replace: 'https://www.baidu.com/api/'},\r\n          {search: 'Title', replace: '百度开放接口', attr: 'g'}\r\n          {search: 'Location', replace: 'BeiJing', attr: 'g'}\r\n        ]\r\n      }\r\n    }\r\n    ...\r\n  ]\r\n}\r\n```\r\n包括 .css 文件，.less 文件等 ： 将`color: red;` 修改为 `color: #0cff00;`\r\n```css\r\n.test {\r\n  color: red;\r\n}\r\n```\r\n配置：\r\n```js\r\noptions: {\r\n  search: 'color: red;',\r\n  replace: 'color: #0cff00;',\r\n  attr: 'g'\r\n}\r\n```\r\n替换后：\r\n```css\r\n.test {\r\n  color: #0cff00;\r\n}\r\n```\r\n\r\n 将 a.hml 文件 的 `div` 标签换为 `span` 标签。将 class `text` 换为 `box` :\r\n\r\n```html\r\n<span>$DOM</span>\r\n```\r\n配置如下：\r\n```js\r\noptions: {\r\n  arr: [\r\n    {search: 'span', replace: 'div', attr: 'g'},\r\n    {search: '$DOM', replace: `\r\n      <span class=\"box\">\r\n        <span class=\"text\">社会主义</span>\r\n      </span>\r\n    `}\r\n  ]\r\n}\r\n```\r\n\r\n替换后：\r\n```html\r\n<div>\r\n  <span class=\"box\">\r\n    <span class=\"text\">社会主义</span>\r\n  </span>\r\n</div>\r\n```\r\n\r\n## 测试\r\n在 test 目录下进行执行：\r\n```shell\r\n npm install\r\n```\r\n```shell\r\n npm run test\r\n```\r\n用浏览器打开：test/dist/index.html。\r\n\r\n## 说明\r\n1.2版本后，已做全字符转义，包含但不限于下列情况均可替换。\r\n```js\r\nsearch: '<a class__';\r\nsearch: '.a /bcc .g';\r\nsearch: '[.a]';\r\nsearch: '--{a-x}';\r\nsearch: '({[list]})';\r\nsearch: '/$/abb^';\r\nsearch: '<c><d></>';\r\nsearch: '?+^$@><-';\r\n```\r\n\r\n<img src=\"https://raw.githubusercontent.com/beautifulBoys/webpack-replace-loader/master/test/test.png\">\r\n","_attachments":{},"homepage":"https://github.com/beautifulBoys/webpack-replace-loader#readme","bugs":{"url":"https://github.com/beautifulBoys/webpack-replace-loader/issues"}}