package.json
// cross-env 一个用来设置设置全局环境变量的包
"build": "cross-env NODE_OPTIONS=\"-r esm\" next build",
"start": "next start -p 9002"
nginx配置
location / {
proxy_pass http://location:9002; //改成自己的host
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
使用pm2部署 一条命令
pm2 start --name "myName" npm -- run start 启动进程
pm2 list 查看正在运行的进程
```
linux一些用到的命令
netstat -tunlp|grep 9002 查看端口进程
kill -9 16805 杀死进程 // 16805是随机的 每次打开都会变成一个新的
next.config
const withLess = require('@zeit/next-less');
const withCSS = require('@zeit/next-css')
const path = require('path');
const compose = plugins => ({
lessLoaderOptions: {
javascriptEnabled: true,
},
webpack(config, options) {
return plugins.reduce((config, plugin) => {
if (plugin instanceof Array) {
const [_plugin, ...args] = plugin
plugin = _plugin(...args)
}
if (plugin instanceof Function) {
plugin = plugin()
}
if (plugin && plugin.webpack instanceof Function) {
return plugin.webpack(config, options)
}
return config
}, config)
},
//每次改动文件都需要去编译 这个可以实现热加载功能
webpackDevMiddleware(config) {
return plugins.reduce((config, plugin) => {
if (plugin instanceof Array) {
const [_plugin, ...args] = plugin;
plugin = _plugin(args)
}
if (plugin instanceof Function) {
plugin = plugin()
}
if (plugin && plugin.webpackDevMiddleware instanceof Function) {
return plugin.webpackDevMiddleware(config)
}
return config
}, config)
},
pageExtensions: ['jsx', 'js'], // 在pages目录下那种后缀的文件会被认为是页面
distDir: '_next', //编译后的文件根目录名字
env: { //这个是自定义进去的环境变量
customKey: 'value',
}
});
const withBundleAnalyzer = require('@next/bundle-analyzer')
const UglifyJsPlugin = require("uglifyjs-webpack-plugin")
if (typeof require !== 'undefined') {
require.extensions['.css'] = file => {};
require.extensions['.less'] = file => {};
}
module.exports = withLess(withCSS(compose([
[
withBundleAnalyzer,
{
enabled: process.env.ANALYZE === 'true'
}
]
])));