# wjhnpm

> 从迁移到新版本-使用环境变量-构建性能-

Latest version **1.0.0** (published 2018-06-22) · ISC license · 0 weekly downloads

## Install

```sh
npm install wjhnpm
pnpm add wjhnpm
yarn add wjhnpm
bun add wjhnpm
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2018-06-22 |
| First published | 2018-06-22 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 7.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | wangjiahong |
| Maintainers | wangjiahong |

## Links

- npm: https://www.npmjs.com/package/wjhnpm
- npm.io page: https://npm.io/package/wjhnpm

## Dependencies (2)

- [lodash](https://npm.io/package/lodash.md) ^4.17.4
- [webpack](https://npm.io/package/webpack.md) ^3.8.1

## Recent versions

- 1.0.0 (latest) — 2018-06-22

## README

从迁移到新版本-使用环境变量-构建性能-

webpack支持在配置文件中返回promise 可在配置文件中做异步处理
eg: webpack.config.js
    module.exports = function() {
		return fetchLangs().then(lang => {
			entry: "...",
			plugins: [
				new DefinePlugin({LANGUAGE: lang})
			]
		})
	}


更多的 CLI 参数项
你可以使用一些新的 CLI 参数项：

--define process.env.NODE_ENV="production" 见 DefinePlugin。

--display-depth 显示每个模块到入口的距离。

--display-used-exports 显示一个模块中被使用的 exports 信息。

--display-max-modules 设置输出时显示的模块数量（默认是 15）。

-p 能够定义 process.env.NODE_ENV 为 "production"。

loader默认可被缓存 
// 不缓存 loader
  module.exports = function(source) {
+   this.cacheable(false);
    return source;
  }

为每个环境编写彼此独立的 webpack 配置。公用的部分用 webpack-merge 通用配置

生产环境更注重： 
	1.目标转向更小的bundle
	2. 轻量的source map (source-map) 
	(避免在生产中使用 inline-... 和 eval-...，因为它们可以增加 bundle 大小，并降低整体性能。)
	3.优化的资源css img等
	为了节省加载时间


开发环境（development）
	1.强大的，实施重新加载（live reloading）
	2. 热模块替换 （hot module replacement）
	3. source map  (inline-source-map)
	4. server（localhost启动服务）

package.json
	1.npm watch (添加设置即可)更给文件等内容，自动打包，无需手动build
	2.npm start （webpack-dev-server）热加载


代码分离
	1.入口起点：使用 entry 配置手动地分离代码。
	2.防止重复：使用 CommonsChunkPlugin 去重和分离 chunk。
	3.动态导入：通过模块的内联函数调用来分离代码。

插件
express + webpack-dev-middleware  （npm run server） 开启服务和自设置端口
uglifyjs-webpack-plugin 删除未引用代码

---
_Source: https://npm.io/package/wjhnpm · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
