SSR中Webpack-Server-Config配置

作者: binyellow | 来源:发表于2019-04-21 17:57 被阅读27次

服务端webpack配置

  1. 服务端要正确处理首屏的图片和样式等
  2. 服务端要支持动态import,懒加载

webpack.server.js

const config = require('./webpack.base.js');

const serverConfig = {
    target: 'node', // 指定为node环境下
    mode: 'development',
    entry: './src/server',
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'build')
    },
    externals: [nodeExternals()], // 不打包node_modules等模块
    module: {
        rules: [{
            test: /\.css?$/,
            use: ['isomorphic-style-loader', {  // 处理服务端样式文件
                loader: 'css-loader',
                options: {
                    importLoaders: 1,
                    modules: true,   // 开启css-module
                    localIdentName: '[name]_[local]_[hash:base64:5]'
                }
            }]
        },{
            test: /\.(png|jpeg|jpg|gif|svg)?$/,
            loader: 'url-loader',
            options: {
                limit: 8000,
                outputPath: '../build/',  // 图片资源输出路径
                publicPath: '/'
            }
        }]
    }
};

module.exports = merge(config, serverConfig);

注意的点,其实大部分都是关于webpack的踩坑记录

  1. 服务端无法识别和处理css,图片资源等,所以要用webpack打包编译,其中对于css的loaderisomorphic-style-loader
  2. express或者koa起的服务代理的静态代理地址一定要对app.use(express.static('build'))
  3. 如果在.babelrc中配置了plugin,要注意dynamic-import-node会对lodabel按需加载有影响,因为这是配置服务端支持动态import()的插件,会导致webpack编译碰到import()时被该插件劫持
  4. babel-preset-env: "targets": ["node": "current"]要指定node编译支持到当前版本, 不然会报regeneratorTime等不支持等错误
  5. 如果想调试前端项目,配置webpack-dev-server时,--hot --inline在webpack最新版本中只需要配置--inline就可以内联刷新,同时index.html中对js的引用要和webpack中配置的contentBase匹配

实战

  1. 会开发一个结合SSR《全网音乐免费试听-周杰伦版》的SPA应用
  2. 正式开发中还是建议使用Next
  3. 关于node中处理css和图片等可以使用插件:webpack-isomorphic-tools,universal-webpack但是前面的作者已经不更新了

相关文章

  • SSR中Webpack-Server-Config配置

    服务端webpack配置 服务端要正确处理首屏的图片和样式等 服务端要支持动态import,懒加载 webpack...

  • 配置ssr

    总共分成三部 1.配置shadowsocks服务端 2.配置ssr客户端 3.配置proxychians代理 1....

  • React SSR样式及SEO的实践

    前一篇主要记录了一下SSR配置以及结合Redux的使用。这里简单说一下React SSR中样式处理和更优雅的SEO...

  • nuxt 部署

    1.Server Deployment(部署ssr) 1.1 配置 nuxt.config.js 指定target...

  • Mac终端配置ssr

    1,Mac打开终端

  • 2021-05-25

    windows 安装java环境首先安装 jdk配置环境变量https://www.cnblogs.com/ssr...

  • deepin 配置

    deepin安装后的配置 添加控制中心快捷键 |把文件浏览器换成默认 |配置electron-ssr |设置谷歌浏...

  • 常见命令:

    1.更改鼠标速度:xset m N2配置ssh:https://liyuans.com/archives/ssr-...

  • React 中同构(SSR)原理脉络梳理

    React 中同构(SSR)原理脉络梳理

  • Linux 配置代理

    软件要求 SSR Proxychains4 准备工作 SSR 获取ssr脚本 赋予ssr脚本可执行权限 将ssr放...

网友评论

    本文标题:SSR中Webpack-Server-Config配置

    本文链接:https://www.haomeiwen.com/subject/cjmjgqtx.html