Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#40 #439

Merged
merged 132 commits into from
Jan 13, 2018
Merged

#40 #439

Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
f2a258a
update /content/loaders & /content/plugins
dear-lizhihua Sep 3, 2017
a5725bb
Merge remote-tracking branch 'upstream/translation' into translation
dear-lizhihua Sep 3, 2017
248be26
update /content/loaders & /content/plugins
dear-lizhihua Sep 19, 2017
36c53b8
Merge remote-tracking branch 'upstream/translation' into translation
dear-lizhihua Sep 19, 2017
25a3d6d
Merge branch 'master' into cn
dear-lizhihua Oct 10, 2017
14bff9f
update /content/loaders & /content/plugins
dear-lizhihua Oct 10, 2017
debfddd
Merge remote-tracking branch 'upstream/cn' into cn
dear-lizhihua Oct 10, 2017
57fb4d4
update contributors
dear-lizhihua Oct 10, 2017
99bf48d
Merge branch 'master' into translation
dear-lizhihua Oct 10, 2017
7fcd796
Merge remote-tracking branch 'upstream/translation' into translation
dear-lizhihua Oct 11, 2017
78e3cee
update /content/loaders & /content/plugins
dear-lizhihua Oct 15, 2017
8a1b2c9
Merge branch 'master' into translation
dear-lizhihua Oct 15, 2017
34575cd
Merge remote-tracking branch 'upstream/translation' into translation
dear-lizhihua Oct 15, 2017
3251e8a
Merge remote-tracking branch 'upstream/cn' into cn
dear-lizhihua Oct 15, 2017
7396c0d
Merge branch 'master' into cn
dear-lizhihua Oct 15, 2017
c0dc1be
fix LinkDropdown
dear-lizhihua Oct 15, 2017
4809e4a
Merge branch 'translation' into cn
dear-lizhihua Oct 15, 2017
178eeeb
修复 npm 命令错误导致编译不成功的问题
dear-lizhihua Oct 17, 2017
8ec33ad
update /content/loaders & /content/plugins
dear-lizhihua Oct 17, 2017
cc7b5e1
Merge remote-tracking branch 'upstream/translation' into translation
dear-lizhihua Oct 17, 2017
93ebe40
Merge remote-tracking branch 'upstream/cn' into cn
dear-lizhihua Oct 29, 2017
1ca293a
update /content/loaders & /content/plugins
dear-lizhihua Oct 30, 2017
a132154
Merge branch 'master' into translation
dear-lizhihua Oct 30, 2017
9fbf758
Merge remote-tracking branch 'upstream/translation' into translation
dear-lizhihua Oct 30, 2017
a40704a
update /content/loaders & /content/plugins
dear-lizhihua Nov 1, 2017
53d47d1
Merge remote-tracking branch 'upstream/translation' into translation
dear-lizhihua Nov 1, 2017
68c4bdd
Merge remote-tracking branch 'upstream/cn' into cn
dear-lizhihua Nov 1, 2017
d622470
docs(plugins): fix typo in module-concatenation-plugin.md (#1683)
mattdsteele Nov 1, 2017
52eb2a4
docs(concepts): simplify the introduction (#1673)
TheDutchCoder Nov 1, 2017
6e8d65d
docs(plugins): add “scope hoisting” intro in module-concatenation-plu…
iamakulov Nov 3, 2017
66443e6
docs(api): fix some method signatures in loaders.md (#1685)
aparajita Nov 3, 2017
b13613e
update /content/loaders & /content/plugins
Nov 4, 2017
0e407de
Merge remote-tracking branch 'upstream/translation' into translation
Nov 4, 2017
d6295cc
Merge remote-tracking branch 'upstream/master'
Nov 4, 2017
955b221
docs(guides): consistent quoute use in typescript.md (#1687)
ulrikstrid Nov 5, 2017
ac739ee
docs(api/guides): document new --concatenate-modules flag (#1686)
iamakulov Nov 5, 2017
6d30cac
docs(guides): fix issues with examples in shimming.md (#1680)
svyandun Nov 5, 2017
ccac872
docs(guides): add middleware tip to the hmr guide
skipjack Nov 5, 2017
5dcd8ac
Merge remote-tracking branch 'upstream/cn' into cn
dear-lizhihua Nov 5, 2017
0f539cb
Merge remote-tracking branch 'upstream/master'
dear-lizhihua Nov 5, 2017
c71abf9
Merge remote-tracking branch 'upstream/cn' into cn
dear-lizhihua Nov 5, 2017
c9cdb7e
Revert "A new --concatenate-modules flag" (#1692)
skipjack Nov 5, 2017
ebd64c9
update master
dear-lizhihua Nov 6, 2017
796d087
Merge remote-tracking branch 'upstream/master'
dear-lizhihua Nov 6, 2017
4a2422b
Merge branch 'master' into cn
dear-lizhihua Nov 6, 2017
fe130ff
update master
dear-lizhihua Nov 6, 2017
19fc4f6
update /content/loaders & /content/plugins
dear-lizhihua Nov 7, 2017
b9d59a4
Merge remote-tracking branch 'upstream/translation' into translation
dear-lizhihua Nov 7, 2017
38fc0d4
Merge branch 'translation' into cn
dear-lizhihua Nov 7, 2017
34dd7b4
docs(concepts): fix grammar in output.md (#1694)
reergymerej Nov 10, 2017
29899d8
docs(contribute): update writing-a-loader (#1691)
ThaNarie Nov 10, 2017
5a7cbe7
docs(plugins): add external example in SourceMapDevToolPlugin (#1676)
hkrutzer Nov 10, 2017
4760409
docs(config): update dev-server open option (#1693)
applemate Nov 11, 2017
63574ba
fix bugs
dear-lizhihua Nov 12, 2017
192c38e
update /content/loaders & /content/plugins
dear-lizhihua Nov 12, 2017
1511650
docs(api): improve formatting and grammar in loaders.md
skipjack Nov 11, 2017
ab6f188
docs(api): clarify fourth parameter of `this.callback` in loaders.md
skipjack Nov 11, 2017
e6c94a4
docs(api): populate missing link in loaders.md
skipjack Nov 12, 2017
4b80c8b
docs(plugins): correct example in html-webpack-plugin (#1698)
Jocs Nov 13, 2017
b24ea5e
docs(guides): update an example in production.md (#1696)
ogonkov Nov 13, 2017
0fb8a35
fix(markdown): fix overflowing inline code (#1701)
kamleshchandnani Nov 15, 2017
251f704
docs(concepts): update concepts wording (#1702)
TheLarkInn Nov 15, 2017
4f2f269
Merge remote-tracking branch 'upstream/cn' into cn
dear-lizhihua Nov 18, 2017
c5142de
Merge remote-tracking branch 'upstream/master'
dear-lizhihua Nov 18, 2017
5a59bb7
update /content/loaders & /content/plugins
dear-lizhihua Nov 18, 2017
8597638
Merge remote-tracking branch 'upstream/translation' into translation
dear-lizhihua Nov 18, 2017
4d2e2b8
docs(config): fix dead link to webpack-dev-server example (#1704)
loilo Nov 19, 2017
549d14c
docs(concepts): use fragment links in usage instructions (#1705)
CentroDL Nov 19, 2017
9f473f5
docs(guides): add windows usage tip in getting-started (#1671)
Vanguard90 Nov 23, 2017
b8e8365
doc(guides): fix grammatical error in build-performance (#1709)
davesidious Nov 23, 2017
067cb0d
docs(guides): correct two small typos
mbsrc Nov 21, 2017
e57a11b
docs(api): remove inadvertent double verb (#1714)
MajorBreakfast Nov 23, 2017
2efe399
docs(contribute): fix grammar in writing-a-plugin (#1715)
MajorBreakfast Nov 23, 2017
05714b5
docs(config): add semicolon for consistency (#1716)
connorholyday Nov 26, 2017
93e4b4d
docs(contributing): add note about debian OS (#1721)
sukrosono Dec 2, 2017
4eefcee
docs(guides): add output example to shimming doc (#1720)
agudulin Dec 2, 2017
afe298d
docs(plugins): use `.includes` over `.indexOf` (#1719)
mattvagni Dec 2, 2017
955ff3f
docs(guides): use `npx` in getting-started (#1708)
MajorBreakfast Dec 2, 2017
efcce14
Merge remote-tracking branch 'upstream/cn' into cn
dear-lizhihua Dec 3, 2017
0f36909
Merge remote-tracking branch 'upstream/master'
dear-lizhihua Dec 3, 2017
27991dc
update /src/content/loaders & /src/content/plugins
dear-lizhihua Dec 3, 2017
3ff5dfe
Merge remote-tracking branch 'upstream/translation' into translation
dear-lizhihua Dec 3, 2017
1e898cb
Merge remote-tracking branch 'upstream/cn' into cn
dear-lizhihua Dec 3, 2017
46e6781
Merge branch 'translation' into cn
dear-lizhihua Dec 3, 2017
4fe9b6f
Merge remote-tracking branch 'upstream/cn' into cn
dear-lizhihua Dec 4, 2017
b5f821d
Merge branch 'master' into cn
dear-lizhihua Dec 4, 2017
8a3c989
docs(contribute): link compiler docs in writing-a-plugin (#1700)
chrmod Dec 5, 2017
968c0d1
docs(guides): fix `source-map` discrepancy in production.md (#1711)
mbsrc Dec 5, 2017
e911daf
docs(guides): rename 'runtime' to 'manifest' in caching.md (#1713)
mbsrc Dec 5, 2017
3d3ab97
docs(guides): update output to webpack 3.9.1 (#1724)
plug-n-play Dec 5, 2017
a4bdaa2
docs(plugins): update the source-map-devtool-plugin (#1707)
EugeneHlushko Dec 5, 2017
5ff8058
docs(contribute): correct an example in the writers-guide (#1727)
lhoff Dec 5, 2017
4d82b1c
docs(config): improve formatting and add note about library entry poi…
skipjack Dec 6, 2017
f0b140a
docs(guides): mention complex entry point configuration in author-lib…
skipjack Dec 6, 2017
099d928
docs(config): improve formatting and clarify the string usage in exte…
skipjack Dec 6, 2017
d6dee86
docs(config): fix minor proselint error in externals
skipjack Dec 6, 2017
c0db521
docs(api): clarify the `pitch` method and how it can be used in loade…
skipjack Dec 6, 2017
9e77d93
docs(contribute): fix `import` statement in writing-a-loader.md (#1732)
sanchitnevgi Dec 8, 2017
2c47976
docs(config): update devtool production recommendations
neonick Dec 6, 2017
9b8653f
docs(api): remove obsolete cli flag (#1733)
ooflorent Dec 9, 2017
8b5fd79
docs(concepts): add warning about incompatible `import` statements
skipjack Dec 9, 2017
4902981
docs(config): fix typescript setup in configuration-languages (#1734)
youta1119 Dec 11, 2017
093722e
docs: use full `npm install` over `npm i` (#1740)
Chocobo1 Dec 14, 2017
1c17320
docs(guides): fix diff display for webpack.config.js entry object
JGJP Dec 14, 2017
4405fee
docs: fix typos
tbroadley Dec 16, 2017
df39d5f
docs: add tbroadley to contributor lists
tbroadley Dec 16, 2017
7018c23
docs(contribute): correct schema example in `writing-a-loader.md` (#1…
warmrobot Dec 18, 2017
f0ffd1f
docs(guides): add pwa guide (#1737)
johnnyreilly Dec 18, 2017
41615e4
docs(guides): highlight css splitting in production
skipjack Dec 18, 2017
1b5cf43
docs(plugins): use `.includes` over `.indexOf`
baldurh Dec 18, 2017
41a5096
docs(config): omit invalid `detailed` option in stats.md (#1757)
Dec 20, 2017
7078bd7
fix(mobile): correctly sort pages in mobile sidebar (#1759)
pierreneter Dec 20, 2017
a5566a1
chore(vote): port voting app, update deps, and simplify config (#1717)
skipjack Dec 23, 2017
679ed0a
Merge remote-tracking branch 'upstream/cn' into cn
dear-lizhihua Dec 23, 2017
e8b2e06
Merge remote-tracking branch 'upstream/master'
dear-lizhihua Dec 23, 2017
0d6cb2e
docs(readme): reformat at 80 characters and include browserstack link
skipjack Dec 22, 2017
aceaf6e
refactor(notification): simplify notification message and bump the ve…
skipjack Dec 26, 2017
fd4548f
fix(splash): fix visualization artifacts (#1762)
pierreneter Dec 27, 2017
1ec37d9
chore: pick up vote fix and update yarn lock file
skipjack Dec 27, 2017
6e06115
chore(vote): pick up another vote patch
skipjack Dec 28, 2017
f375e60
Merge remote-tracking branch 'upstream/cn' into cn
dear-lizhihua Dec 28, 2017
eb02652
Update index.md (#423)
DanielXH Dec 28, 2017
cd39b03
Update .travis.yml
dear-lizhihua Dec 29, 2017
9a14935
docs: fix formatting and grammar (#1765)
yangshun Jan 7, 2018
232bf00
docs(concepts): change loader order from chonological to reverse (#1767)
Jan 7, 2018
e5a36ae
Merge remote-tracking branch 'upstream/master'
dear-lizhihua Jan 13, 2018
17e1fc8
Merge branch 'master' into cn
dear-lizhihua Jan 13, 2018
c46b22a
update UPDATE.md
dear-lizhihua Jan 13, 2018
7d79c30
https://github.com/webpack-china/webpack.js.org/pull/422
dear-lizhihua Jan 13, 2018
48d38a0
Merge remote-tracking branch 'upstream/cn' into cn
dear-lizhihua Jan 13, 2018
8685372
https://github.com/webpack-china/webpack.js.org/issues/40
dear-lizhihua Jan 13, 2018
7e71b5d
Merge remote-tracking branch 'upstream/cn' into cn
dear-lizhihua Jan 13, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 19 additions & 15 deletions src/content/guides/public-path.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
---
title: Public Path
title: 公共路径(Public Path)
sort: 24
contributors:
- rafaelrinaldi
- chrisVillanueva
- gonzoyumo
---

The `publicPath` configuration option can be quite useful in a variety of scenarios. It allows you to specify the base path for all the assets within your application.
webpack 提供一个非常有用的配置,该配置能帮助你为项目中的所有资源指定一个基础路径。它被称为`公共路径(publicPath)`。


## Use Cases
## 示例

There are a few use cases in real applications where this feature becomes especially neat. Essentially, every file emitted to your `output.path` directory will be referenced from the `output.publicPath` location. This includes child chunks (created via [code splitting](/guides/code-splitting/)) and any other assets (e.g. images, fonts, etc.) that are a part of your dependency graph.
这里提供一些示例,在实际应用中,这些示例的特性在实现的同时,还能保持高度整洁。

### Environment Based
### 在构建项目时设置路径值

In development for example, we might have an `assets/` folder that lives on the same level of our index page. This is fine, but what if we wanted to host all these static assets on a CDN in production?
在开发模式中,我们通常有一个 `assets/` 文件夹,它往往存放在和首页一个级别的目录下。这样是挺方便;但是如果在生产环境下,你想把这些静态文件统一使用CDN加载,那该怎么办?

To approach this problem you can easily use a good old environment variable. Let's say we have a variable `ASSET_PATH`:
想要解决这个问题,你可以使用有着悠久历史的环境变量。比如说,我们设置了一个名为 `ASSET_PATH` 的变量:

``` js
import webpack from 'webpack';

// Try the environment variable, otherwise use root
// 如果预先定义过环境变量,就将其赋值给`ASSET_PATH`变量,否则赋值为根目录
const ASSET_PATH = process.env.ASSET_PATH || '/';

export default {
Expand All @@ -32,30 +32,34 @@ export default {
},

plugins: [
// This makes it possible for us to safely use env vars on our code
// 该插件帮助我们安心地使用环境变量
new webpack.DefinePlugin({
'process.env.ASSET_PATH': JSON.stringify(ASSET_PATH)
})
]
};
```

### On The Fly
### 即时设定路径值

Another possible use case is to set the `publicPath` on the fly. webpack exposes a global variable called `__webpack_public_path__` that allows you to do that. So, in your application's entry point, you can simply do this:
另一个可能出现的情况是,我们需要即时设置公共路径。webpack 提供一个全局变量供你设置,它名叫 `__webpack_public_path__`。所以在你的项目入口,你可以简单地设置如下:

```js
__webpack_public_path__ = process.env.ASSET_PATH;
```

That's all you need. Since we're already using the `DefinePlugin` on our
configuration, `process.env.ASSET_PATH` will always be defined so we can safely
do that.
一切设置完成。因为我们已经在我们的配置项中使用了`DefinePlugin`
`process.env.ASSET_PATH` 就已经被定义了,
所以让我们能够安心地使用它了。

W> Be aware that if you use ES6 module imports in your entry file the `__webpack_public_path__` assignment will be done after the imports. In such cases, you'll have to move the public path assignment to its own dedicated module and then import it on top of your entry.js:
**警告:**请注意,如果您在入口文件中使用 ES6 模块导入,则在导入后对 `__webpack_public_path__` 进行赋值。在这种情况下,您必须将公共路径(public path)赋值移至自己的专属模块,然后将其导入到您的 entry.js 之上:

```js
// entry.js
import './public-path';
import './app';
```

***

> 原文:https://webpack.js.org/guides/public-path/