Д
Size: a a a
Д
A
secondary
://secondary/index.jsи есть проект
export function initWeb() {
return 'ok'
}
export function initNode() {
return import('fs')
}
//secondary/package.json
{
"type": "module",
"browser": {"fs":false},
"sideEffects": false
}
main
://main/src/index.jsв
import { initWeb } from '../../secondary'
console.log(initWeb())
main/
делаю./node_modules/.bin/webpack-cli --mode production
получаю в dist
'е:(self.webpackChunk=self.webpackChunk||[]).push([[993],{993:()=>{}}]);во втором какая-то простыня, видать рантайм для подгрузки модулей.
initNode
убрать import('fs')
, получается как и положено один мелкий main.js
:(()=>{"use strict";console.log("ok")})();
3
secondary
A
Д
3
Error: Can't resolve 'fs'
A
A
A
A
3
A
3
package.json
поля name
и version
, из main/
сделал npm install ../secondary
. импорт заменил на import {initWeb} from 'secondary'
. результат в точности тот жеД
.......
if (!isProd) {
config.devtool = 'cheap-module-eval-source-map';
config.devServer.hot = true;
config.devServer.host = '0.0.0.0';
config.devServer.port = 80;
config.devServer.watchOptions = {
aggregateTimeout: 500,
poll: true,
ignored: /node_modules/,
};
}
module.exports = config;
Д
Д
{
mode: 'development',
devServer: {
host: '0.0.0.0',
port: 80,
contentBase: '/usr/src/app/build',
stats: 'minimal',
compress: true,
historyApiFallback: true,
hot: true,
watchOptions: { aggregateTimeout: 500, poll: true, ignored: /node_modules/ }
},
entry: { app: './src/index.js' },
output: {
path: '/usr/src/app/build',
publicPath: '/',
filename: '[hash].js'
},
resolve: { extensions: [ '.js', '.jsx' ] },
module: { rules: [ [Object], [Object], [Object], [Object] ] },
performance: { hints: false },
optimization: {
minimize: false,
minimizer: [ [TerserPlugin], [OptimizeCssAssetsWebpackPlugin] ],
moduleIds: 'hashed',
chunkIds: 'named',
splitChunks: {
chunks: 'all',
minSize: 50000,
maxSize: 250000,
maxInitialRequests: 15,
cacheGroups: [Object]
}
},
plugins: [
HtmlWebpackPlugin {
options: [Object],
childCompilerHash: undefined,
assetJson: undefined,
hash: undefined,
version: 4
},
MiniCssExtractPlugin { options: [Object] },
DefinePlugin { definitions: [Object] }
],
devtool: 'cheap-module-eval-source-map'
}
Д
A
Д
A