From abd2fbaf7315bddd09cac72cb67dd7f38c45d4c7 Mon Sep 17 00:00:00 2001 From: Caihuanyu Date: Mon, 1 Jun 2020 17:49:37 +0800 Subject: [PATCH 01/10] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=20public=20?= =?UTF-8?q?=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/remax-cli/src/build/webpack/config.mini.ts | 10 ++++++++-- packages/remax-cli/typings/index.d.ts | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/remax-cli/src/build/webpack/config.mini.ts b/packages/remax-cli/src/build/webpack/config.mini.ts index 766b05303..af3a6ee01 100644 --- a/packages/remax-cli/src/build/webpack/config.mini.ts +++ b/packages/remax-cli/src/build/webpack/config.mini.ts @@ -2,6 +2,7 @@ import * as path from 'path'; import * as webpack from 'webpack'; import Config from 'webpack-chain'; import MiniCssExtractPlugin from 'mini-css-extract-plugin'; +import CopyPlugin from 'copy-webpack-plugin'; import VirtualModulesPlugin from 'webpack-virtual-modules'; import WebpackBar from 'webpackbar'; import { Options } from '@remax/types'; @@ -186,10 +187,15 @@ export default function webpackConfig(api: API, options: Options, target: Platfo pluginFiles: api.getRuntimePluginFiles(), }), }); - config.plugin('webpack-virtual-modules').use(virtualModules); + config.plugin('webpack-copy-plugin').use(CopyPlugin, [ + { + patterns: [{ from: path.join(options.cwd, 'public'), to: path.join(options.cwd, options.output) }], + }, + ]); + config.plugin('webpack-virtual-modules').use(virtualModules); config.plugin('webpackbar').use(WebpackBar, [{ name: target }]); - + config.plugin('remax-coverage-ignore-plugin').use(RemaxPlugins.CoverageIgnore); config.plugin('mini-css-extract-plugin').use(MiniCssExtractPlugin, [{ filename: `[name]${meta.style}` }]); config.plugin('remax-optimize-entries-plugin').use(RemaxPlugins.OptimizeEntries, [meta]); config.plugin('remax-native-files-plugin').use(RemaxPlugins.NativeFiles, [api, options]); diff --git a/packages/remax-cli/typings/index.d.ts b/packages/remax-cli/typings/index.d.ts index 1cdc2252a..bb21c108f 100644 --- a/packages/remax-cli/typings/index.d.ts +++ b/packages/remax-cli/typings/index.d.ts @@ -10,6 +10,7 @@ declare module 'scheduler'; declare module 'slash2'; declare module 'sander'; declare module 'webpack-virtual-modules'; +declare module 'copy-webpack-plugin'; declare module 'webpack-node-externals'; declare namespace jest { From f704d71f5dcb0dfa836492ed12fd3f7f5a2b9163 Mon Sep 17 00:00:00 2001 From: Caihuanyu Date: Mon, 1 Jun 2020 19:10:08 +0800 Subject: [PATCH 02/10] =?UTF-8?q?docs:=20=E6=96=87=E6=A1=A3=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/guide/advanced/hybrid.md | 18 ++---------------- docs/guide/config/public.md | 8 ++++++++ docs/guide/framework/style.md | 18 +++--------------- docs/guide/v2-migration.md | 16 +++------------- .../dog.png => public/assets/images/cat.png} | 0 .../fixtures/ali/public/assets/images/dog.png | 0 .../integration/fixtures/ali/remax.config.js | 7 ------- .../remax-cli/src/build/webpack/config.mini.ts | 12 +++++++----- 8 files changed, 23 insertions(+), 56 deletions(-) create mode 100644 docs/guide/config/public.md rename packages/remax-cli/src/__tests__/integration/fixtures/ali/{src/assets/images/dog.png => public/assets/images/cat.png} (100%) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/ali/public/assets/images/dog.png delete mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/ali/remax.config.js diff --git a/docs/guide/advanced/hybrid.md b/docs/guide/advanced/hybrid.md index cd40b7dd6..8e3831761 100644 --- a/docs/guide/advanced/hybrid.md +++ b/docs/guide/advanced/hybrid.md @@ -14,20 +14,6 @@ module.exports = { }; ``` -配置完页面后,将原生的代码复制到对应的 `output` 目录,保持和 app.config.js 中配置的目录一致。 +将原生页面放置到根目录下的 public 目录中。public 目录中的文件会被复制到 dist 目录中。 -```js -// remax.config.js -const CopyPlugin = require('copy-webpack-plugin'); - -module.exports = { - configWebpack({ config }) { - config.plugin('copy').use(CopyPlugin, [ - [ - // 表示将 native 目录整个输出到 output 目录下 - { from: '/path/to/native', to: './' }, - ], - ]); - }, -}; -``` +例如:`cwd/public/pages/index/index.js` 会被复制到 `cwd/dist/pages/index/index.s` diff --git a/docs/guide/config/public.md b/docs/guide/config/public.md new file mode 100644 index 000000000..50dfaedd4 --- /dev/null +++ b/docs/guide/config/public.md @@ -0,0 +1,8 @@ +--- +title: public 目录 +order: 4 +--- + +在项目根目录下创建 public 目录,public 目录下的所有文件会被自动复制到 dist 目录下。 + +你可以将 `原生页面`, `tabbar 中配置的图片` 等等全局资源放在这个目录下。 diff --git a/docs/guide/framework/style.md b/docs/guide/framework/style.md index 32dbb5915..52b07f416 100644 --- a/docs/guide/framework/style.md +++ b/docs/guide/framework/style.md @@ -78,27 +78,15 @@ css 中图片引用问题 [遵循 css-loader 的规则](https://github.com/webpack-contrib/css-loader#url) -1. `/path/to/image.png` 绝对路径表示对应输出目录中的 `/path/to` 路径位置,归类为 global assets,需要开发者自己 copy 文件到输出目录中对应的位置。 +1. `/path/to/image.png` 绝对路径表示对应输出目录中的 `/path/to` 路径位置,归类为 global assets,需要放置在 public 目录下。 2. `~@/assets/image.png` `~` 开头表示引入的是 module,可以是 src 下的图片, webpack 可以 resolve。 3. `../../assets/image.png` 相对路径也会被识别为 module,webpack 会处理。 -global assets 配置 copy 的参考 +对于情况 1, 中的图片,可以放在项目根目录中的 public 目录中。public 目录中的文件会被复制到 dist 目录中。 -```js -// remax.config.js -const CopyPlugin = require('copy-webpack-plugin'); - -module.exports = { - configWebpack({ config }) { - // copy-webpack-plugin v5.x - config.plugin('copy').use(CopyPlugin, [[{ from: 'src/path/to/assets', to: 'path/to/assets' }]]); - // copy-webpack-plugin v6.0.0 入参修改了 - config.plugin('copy').use(CopyPlugin, [{ patterns: [{ from: 'src/path/to/assets', to: 'path/to/assets' }] }]); - }, -}; -``` +例如:`cwd/public/path/to/image.png` 会被复制到 `cwd/dist/path/to/image.png` ## 样式补全 diff --git a/docs/guide/v2-migration.md b/docs/guide/v2-migration.md index cd7b0472f..56e0a8671 100644 --- a/docs/guide/v2-migration.md +++ b/docs/guide/v2-migration.md @@ -171,25 +171,15 @@ import './index.css'; 与 1.0 不同,2.0 中我们将遵循 [css-loader](https://github.com/webpack-contrib/css-loader#url) 的规则: -1. `/path/to/image.png`, 绝对路径表示对应输出目录中的 `/path/to` 路径位置,归类为 global assets,需要开发者自己 copy 文件到输出目录中对应的位置。 +1. `/path/to/image.png`, 绝对路径表示对应输出目录中的 `/path/to` 路径位置,归类为 global assets,可以放置在 public 目录下。 2. `~@/assets/image.png`, `~` 开头表示引入的是 module,可以是 src 下的图片, webpack 可以 resolve。 3. `../../assets/image.png`, 相对路径也会被识别为 module,webpack 会处理。 -配置 copy 行为的方式: +对于情况 1, 中的图片,可以放在项目根目录中的 public 目录中。public 目录中的文件会被复制到 dist 目录中。 -```js -// remax.config.js -const CopyPlugin = require('copy-webpack-plugin'); - -module.exports = { - configWebpack({ config }) { - // 详细配置参考 copy-webpack-plugin - config.plugin('copy').use(CopyPlugin, [[{ from: 'src/assets', to: 'assets' }]]); - }, -}; -``` +例如:`cwd/public/path/to/image.png` 会被复制到 `cwd/dist/path/to/image.png` ### tabBar 中配置的本地图片 diff --git a/packages/remax-cli/src/__tests__/integration/fixtures/ali/src/assets/images/dog.png b/packages/remax-cli/src/__tests__/integration/fixtures/ali/public/assets/images/cat.png similarity index 100% rename from packages/remax-cli/src/__tests__/integration/fixtures/ali/src/assets/images/dog.png rename to packages/remax-cli/src/__tests__/integration/fixtures/ali/public/assets/images/cat.png diff --git a/packages/remax-cli/src/__tests__/integration/fixtures/ali/public/assets/images/dog.png b/packages/remax-cli/src/__tests__/integration/fixtures/ali/public/assets/images/dog.png new file mode 100644 index 000000000..e69de29bb diff --git a/packages/remax-cli/src/__tests__/integration/fixtures/ali/remax.config.js b/packages/remax-cli/src/__tests__/integration/fixtures/ali/remax.config.js deleted file mode 100644 index d6119aecb..000000000 --- a/packages/remax-cli/src/__tests__/integration/fixtures/ali/remax.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const CopyPlugin = require('copy-webpack-plugin'); - -module.exports = { - configWebpack({ config }) { - config.plugin('copy').use(CopyPlugin, [[{ from: 'src/assets', to: 'assets' }]]); - }, -}; diff --git a/packages/remax-cli/src/build/webpack/config.mini.ts b/packages/remax-cli/src/build/webpack/config.mini.ts index af3a6ee01..d62f8ed5d 100644 --- a/packages/remax-cli/src/build/webpack/config.mini.ts +++ b/packages/remax-cli/src/build/webpack/config.mini.ts @@ -188,11 +188,13 @@ export default function webpackConfig(api: API, options: Options, target: Platfo }), }); - config.plugin('webpack-copy-plugin').use(CopyPlugin, [ - { - patterns: [{ from: path.join(options.cwd, 'public'), to: path.join(options.cwd, options.output) }], - }, - ]); + const publicDirPath = path.join(options.cwd, 'public'); + + if (fs.existsSync(publicDirPath)) { + config + .plugin('webpack-copy-plugin') + .use(CopyPlugin, [[{ from: publicDirPath, to: path.join(options.cwd, options.output) }]]); + } config.plugin('webpack-virtual-modules').use(virtualModules); config.plugin('webpackbar').use(WebpackBar, [{ name: target }]); config.plugin('remax-coverage-ignore-plugin').use(RemaxPlugins.CoverageIgnore); From f0fe51d11884f5b0318cd20596e6a0eccf68a65a Mon Sep 17 00:00:00 2001 From: Caihuanyu Date: Tue, 2 Jun 2020 20:19:38 +0800 Subject: [PATCH 03/10] =?UTF-8?q?chore:=20web=20=E4=B9=9F=E6=94=AF?= =?UTF-8?q?=E6=8C=81=20public=20=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fixtures/one/expected/web/cat.jpg | Bin 0 -> 15707 bytes .../integration/fixtures/one/public/cat.jpg | Bin 0 -> 8699 bytes .../remax-cli/src/build/webpack/config.web.ts | 9 +++++++++ 3 files changed, 9 insertions(+) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/web/cat.jpg create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/public/cat.jpg diff --git a/packages/remax-cli/src/__tests__/integration/fixtures/one/expected/web/cat.jpg b/packages/remax-cli/src/__tests__/integration/fixtures/one/expected/web/cat.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d74af7ddd920f94c586dffa4734abd04e6a2b4d9 GIT binary patch literal 15707 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 Date: Tue, 2 Jun 2020 20:21:42 +0800 Subject: [PATCH 04/10] Apply suggestions from code review Co-authored-by: Wei Zhu --- docs/guide/advanced/hybrid.md | 2 +- docs/guide/framework/style.md | 2 +- docs/guide/v2-migration.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guide/advanced/hybrid.md b/docs/guide/advanced/hybrid.md index 8e3831761..8858c512a 100644 --- a/docs/guide/advanced/hybrid.md +++ b/docs/guide/advanced/hybrid.md @@ -16,4 +16,4 @@ module.exports = { 将原生页面放置到根目录下的 public 目录中。public 目录中的文件会被复制到 dist 目录中。 -例如:`cwd/public/pages/index/index.js` 会被复制到 `cwd/dist/pages/index/index.s` +例如:`public/pages/index/index.js` 会被复制到 `dist/pages/index/index.js` diff --git a/docs/guide/framework/style.md b/docs/guide/framework/style.md index 52b07f416..5f6d74d6c 100644 --- a/docs/guide/framework/style.md +++ b/docs/guide/framework/style.md @@ -86,7 +86,7 @@ css 中图片引用问题 对于情况 1, 中的图片,可以放在项目根目录中的 public 目录中。public 目录中的文件会被复制到 dist 目录中。 -例如:`cwd/public/path/to/image.png` 会被复制到 `cwd/dist/path/to/image.png` +例如:`public/path/to/image.png` 会被复制到 `dist/path/to/image.png` ## 样式补全 diff --git a/docs/guide/v2-migration.md b/docs/guide/v2-migration.md index 56e0a8671..8da5b6b59 100644 --- a/docs/guide/v2-migration.md +++ b/docs/guide/v2-migration.md @@ -179,7 +179,7 @@ import './index.css'; 对于情况 1, 中的图片,可以放在项目根目录中的 public 目录中。public 目录中的文件会被复制到 dist 目录中。 -例如:`cwd/public/path/to/image.png` 会被复制到 `cwd/dist/path/to/image.png` +例如:`public/path/to/image.png` 会被复制到 `dist/path/to/image.png` ### tabBar 中配置的本地图片 From 96d04de5f2d6d7b5997d32195258f60a535cc047 Mon Sep 17 00:00:00 2001 From: Caihuanyu Date: Tue, 2 Jun 2020 20:22:12 +0800 Subject: [PATCH 05/10] =?UTF-8?q?chore:=20=E5=8E=BB=E9=99=A4=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E5=BC=95=E5=85=A5=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/remax-cli/src/build/webpack/config.mini.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/remax-cli/src/build/webpack/config.mini.ts b/packages/remax-cli/src/build/webpack/config.mini.ts index d62f8ed5d..87f926f56 100644 --- a/packages/remax-cli/src/build/webpack/config.mini.ts +++ b/packages/remax-cli/src/build/webpack/config.mini.ts @@ -202,7 +202,6 @@ export default function webpackConfig(api: API, options: Options, target: Platfo config.plugin('remax-optimize-entries-plugin').use(RemaxPlugins.OptimizeEntries, [meta]); config.plugin('remax-native-files-plugin').use(RemaxPlugins.NativeFiles, [api, options]); config.plugin('remax-define-plugin').use(RemaxPlugins.Define, [options]); - config.plugin('remax-coverage-ignore-plugin').use(RemaxPlugins.CoverageIgnore); const context = { config, From e6bb43c09afa1a261279bb9af4dface3ba1c6575 Mon Sep 17 00:00:00 2001 From: Caihuanyu Date: Tue, 2 Jun 2020 20:23:25 +0800 Subject: [PATCH 06/10] chore: plugin order --- packages/remax-cli/src/build/webpack/config.mini.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/remax-cli/src/build/webpack/config.mini.ts b/packages/remax-cli/src/build/webpack/config.mini.ts index 87f926f56..b896b1945 100644 --- a/packages/remax-cli/src/build/webpack/config.mini.ts +++ b/packages/remax-cli/src/build/webpack/config.mini.ts @@ -187,6 +187,7 @@ export default function webpackConfig(api: API, options: Options, target: Platfo pluginFiles: api.getRuntimePluginFiles(), }), }); + config.plugin('webpack-virtual-modules').use(virtualModules); const publicDirPath = path.join(options.cwd, 'public'); @@ -195,7 +196,6 @@ export default function webpackConfig(api: API, options: Options, target: Platfo .plugin('webpack-copy-plugin') .use(CopyPlugin, [[{ from: publicDirPath, to: path.join(options.cwd, options.output) }]]); } - config.plugin('webpack-virtual-modules').use(virtualModules); config.plugin('webpackbar').use(WebpackBar, [{ name: target }]); config.plugin('remax-coverage-ignore-plugin').use(RemaxPlugins.CoverageIgnore); config.plugin('mini-css-extract-plugin').use(MiniCssExtractPlugin, [{ filename: `[name]${meta.style}` }]); From c05dc6514c75148c05db121583fe94ab53b2598d Mon Sep 17 00:00:00 2001 From: Caihuanyu Date: Wed, 3 Jun 2020 13:26:15 +0800 Subject: [PATCH 07/10] chore: update package --- packages/remax-cli/package.json | 2 +- packages/remax-cli/src/build/webpack/config.mini.ts | 2 +- packages/remax-cli/src/build/webpack/config.web.ts | 4 +--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/remax-cli/package.json b/packages/remax-cli/package.json index 0dccca7bc..aa4a6a8af 100644 --- a/packages/remax-cli/package.json +++ b/packages/remax-cli/package.json @@ -42,6 +42,7 @@ "babel-preset-remax": "2.2.0", "chokidar": "^3.4.0", "clean-webpack-plugin": "^3.0.0", + "copy-webpack-plugin": "^5.1.1", "css-loader": "^3.4.2", "detect-port": "^1.3.0", "dotenv": "^8.2.0", @@ -102,7 +103,6 @@ "@types/yargs": "^15.0.0", "address": "^1.1.2", "babel-plugin-loop-optimizer": "^1.4.1", - "copy-webpack-plugin": "^5.1.1", "eol": "^0.9.1", "fs-readdir-recursive": "^1.1.0", "jest": "^26.0.1", diff --git a/packages/remax-cli/src/build/webpack/config.mini.ts b/packages/remax-cli/src/build/webpack/config.mini.ts index b896b1945..2c4673366 100644 --- a/packages/remax-cli/src/build/webpack/config.mini.ts +++ b/packages/remax-cli/src/build/webpack/config.mini.ts @@ -190,12 +190,12 @@ export default function webpackConfig(api: API, options: Options, target: Platfo config.plugin('webpack-virtual-modules').use(virtualModules); const publicDirPath = path.join(options.cwd, 'public'); - if (fs.existsSync(publicDirPath)) { config .plugin('webpack-copy-plugin') .use(CopyPlugin, [[{ from: publicDirPath, to: path.join(options.cwd, options.output) }]]); } + config.plugin('webpackbar').use(WebpackBar, [{ name: target }]); config.plugin('remax-coverage-ignore-plugin').use(RemaxPlugins.CoverageIgnore); config.plugin('mini-css-extract-plugin').use(MiniCssExtractPlugin, [{ filename: `[name]${meta.style}` }]); diff --git a/packages/remax-cli/src/build/webpack/config.web.ts b/packages/remax-cli/src/build/webpack/config.web.ts index 05d2d6257..768f46634 100644 --- a/packages/remax-cli/src/build/webpack/config.web.ts +++ b/packages/remax-cli/src/build/webpack/config.web.ts @@ -82,17 +82,15 @@ export default function webpackConfig(api: API, options: Options): webpack.Confi appConfig, }), }); + config.plugin('webpack-virtual-modules').use(virtualModules); const publicDirPath = path.join(options.cwd, 'public'); - if (fs.existsSync(publicDirPath)) { config .plugin('webpack-copy-plugin') .use(CopyPlugin, [[{ from: publicDirPath, to: path.join(options.cwd, options.output) }]]); } - config.plugin('webpack-virtual-modules').use(virtualModules); - config.plugin('html-webpack-plugin').use(HtmlWebpackPlugin, [ { template: path.resolve(__dirname, '../../../template/index.html.ejs'), From 43607a0dcbb3bdc7fc3294940f427e3e4fd3f944 Mon Sep 17 00:00:00 2001 From: Caihuanyu Date: Wed, 3 Jun 2020 13:34:30 +0800 Subject: [PATCH 08/10] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/guide/config/public.md | 35 ++++++++++++++++++++++++++++++++++- docs/guide/quick-start.md | 3 +++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/docs/guide/config/public.md b/docs/guide/config/public.md index 50dfaedd4..532ef9168 100644 --- a/docs/guide/config/public.md +++ b/docs/guide/config/public.md @@ -5,4 +5,37 @@ order: 4 在项目根目录下创建 public 目录,public 目录下的所有文件会被自动复制到 dist 目录下。 -你可以将 `原生页面`, `tabbar 中配置的图片` 等等全局资源放在这个目录下。 +你可以将 `原生页面`, `tabBar 中配置的图片` 等等全局资源放在这个目录下。 + +例如,当你配置了 tabBar,并指定了 icon 路径: + +```js +// app.config.js +module.exports = { + tabBar: { + list: [ + { + pagePath: 'pages/index/index', + iconPath: '/images/icon.png', + text: '首页', + }, + { + pagePath: 'pages/logs/logs', + text: '日志', + }, + ], + }, +}; +``` + +则你需要将 icon.png 放入 `public/images` 目录下即可。 + +同样的你也可以在代码中直接指定全局静态资源: + +```js +import { Image } from 'remax/wechat'; + +export default () => { + return ; +}; +``` diff --git a/docs/guide/quick-start.md b/docs/guide/quick-start.md index 8f88a72c9..0a3f64212 100644 --- a/docs/guide/quick-start.md +++ b/docs/guide/quick-start.md @@ -51,6 +51,7 @@ my-app/ ┳ package.json ┣ dist/ ┣ node_modules/ +┣ public/ ┣ src/ ┗━┓ app.js ┣ app.css @@ -65,6 +66,8 @@ my-app/ `dist` 为编译后的文件目录。 +`public` 为全局静态资源目录,具体可参考[配置 - public 目录](/config/public)。 + `src` 为源文件目录。 `app.js` 入口文件,具体可参考 [指南 - 框架](/guide/framework)。 From 342b41e4051def47acc89bf81290938ad766fad2 Mon Sep 17 00:00:00 2001 From: Caihuanyu Date: Wed, 3 Jun 2020 14:24:16 +0800 Subject: [PATCH 09/10] test: update test snapshot --- .../fixtures/one/expected/ali/cat.jpg | Bin 0 -> 15707 bytes .../fixtures/one/expected/toutiao/cat.jpg | Bin 0 -> 15707 bytes .../fixtures/one/expected/wechat/cat.jpg | Bin 0 -> 15707 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/cat.jpg create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/toutiao/cat.jpg create mode 100644 packages/remax-cli/src/__tests__/integration/fixtures/one/expected/wechat/cat.jpg diff --git a/packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/cat.jpg b/packages/remax-cli/src/__tests__/integration/fixtures/one/expected/ali/cat.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d74af7ddd920f94c586dffa4734abd04e6a2b4d9 GIT binary patch literal 15707 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 Date: Wed, 3 Jun 2020 18:41:48 +0800 Subject: [PATCH 10/10] docs: update document --- docs/guide/{config => basic}/public.md | 2 +- docs/guide/quick-start.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename docs/guide/{config => basic}/public.md (98%) diff --git a/docs/guide/config/public.md b/docs/guide/basic/public.md similarity index 98% rename from docs/guide/config/public.md rename to docs/guide/basic/public.md index 532ef9168..cf3cd3b75 100644 --- a/docs/guide/config/public.md +++ b/docs/guide/basic/public.md @@ -1,6 +1,6 @@ --- title: public 目录 -order: 4 +order: 30 --- 在项目根目录下创建 public 目录,public 目录下的所有文件会被自动复制到 dist 目录下。 diff --git a/docs/guide/quick-start.md b/docs/guide/quick-start.md index 0a3f64212..281574d4d 100644 --- a/docs/guide/quick-start.md +++ b/docs/guide/quick-start.md @@ -66,7 +66,7 @@ my-app/ `dist` 为编译后的文件目录。 -`public` 为全局静态资源目录,具体可参考[配置 - public 目录](/config/public)。 +`public` 为全局静态资源目录,具体可参考[public 目录](/basic/public)。 `src` 为源文件目录。