tof*_*fee 5 docker webpack vue.js
我想捆绑我的 vue ssr server.js,将所有内容包含node_modules到一个文件中
我已经将服务器和客户端代码构建到dist/文件夹中
现在,我想在 docker 镜像中构建代码
我不想node_modules在最终图像中包含文件夹(太大)
所以我决定捆绑我的server.js
node_modules捆绑后,我将在最终图像中删除。
但在我的server.js
const express = require('express')
const bundle = require('./dist/vue-ssr-server-bundle.json')
Run Code Online (Sandbox Code Playgroud)
它需要我的dist/js ,我不想要 webpack 捆绑 dist/ 文件夹内容,node_modules就像express
唯一捆绑node_modules
经过很长时间的等待
我收到了
Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
Run Code Online (Sandbox Code Playgroud)
这是我的 webpack 配置
const path = require('path')
const resolve = (...dir) => path.resolve(...dir)
module.exports = {
entry: resolve(__dirname, '../server.js'),
output: {
filename: 'bundled-server.js',
path: resolve(__dirname, '../')
},
mode: 'production',
target: 'node',
resolve: {
extensions: ['.tsx', '.ts', '.js'],
alias: {
}
},
module: {
rules: [
{
use: 'babel-loader',
test: /\.js$/,
exclude: /node_module/
},
]
},
}
Run Code Online (Sandbox Code Playgroud)
我的文件夹结构
我的问题
如何让 webpack 只捆绑node_modules和server.js,除了我的 dist/ 文件夹?
对不起,我的英语不好
Webpack 捆绑所有源代码并将其放入dist文件夹中。当您使用它构建最终的 Docker 映像时,您需要忽略node_modules和其他不必要的目录。这就是该.dockerignore文件为您提供帮助的地方。就像 一样.gitignore,.dockerignore在构建过程中忽略文件。在文件中提及您要忽略的文件.dockerignore。
| 归档时间: |
|
| 查看次数: |
3820 次 |
| 最近记录: |