|
|
@@ -1,5 +1,6 @@
|
|
|
'use strict'
|
|
|
const path = require('path')
|
|
|
+const webpack = require('webpack')
|
|
|
|
|
|
function resolve(dir) {
|
|
|
return path.join(__dirname, dir)
|
|
|
@@ -22,16 +23,10 @@ module.exports = {
|
|
|
// 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
|
|
|
assetsDir: 'static',
|
|
|
// 是否开启eslint保存检测,有效值:ture | false | 'error'
|
|
|
- lintOnSave: process.env.NODE_ENV === 'development',
|
|
|
+ // 关闭保存时 ESLint 阻塞编译(旧版 babel-eslint 无法解析 ?. 等新语法)
|
|
|
+ lintOnSave: false,
|
|
|
// 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
|
|
|
productionSourceMap: false,
|
|
|
- // transpileDependencies: true, // 默认情况下 babel-loader 忽略 node_modules 中的所有文件,启用此选项需配置transpileDependencies
|
|
|
- transpileDependencies: [
|
|
|
- /@aws-sdk/,
|
|
|
- /@smithy/,
|
|
|
- /@huaweicloud/,
|
|
|
- /vod-js-sdk-v6/
|
|
|
- ],
|
|
|
// webpack-dev-server 相关配置
|
|
|
devServer: {
|
|
|
host: '0.0.0.0',
|
|
|
@@ -151,15 +146,48 @@ module.exports = {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
+ transpileDependencies: [
|
|
|
+ '@huaweicloud/huaweicloud-sdk-core',
|
|
|
+ '@huaweicloud/huaweicloud-sdk-vod',
|
|
|
+ 'vod-js-sdk-v6',
|
|
|
+ /@aws-sdk/,
|
|
|
+ /@smithy/,
|
|
|
+ /@aws/
|
|
|
+ ],
|
|
|
configureWebpack: {
|
|
|
name: name,
|
|
|
+ node: {
|
|
|
+ fs: 'empty',
|
|
|
+ net: 'empty',
|
|
|
+ tls: 'empty'
|
|
|
+ },
|
|
|
resolve: {
|
|
|
alias: {
|
|
|
- '@': resolve('src')
|
|
|
+ '@': resolve('src'),
|
|
|
+ 'node:fs': resolve('build/empty.js'),
|
|
|
+ 'node:fs/promises': resolve('build/empty.js'),
|
|
|
+ 'node:path': resolve('build/empty.js'),
|
|
|
+ 'node:os': resolve('build/empty.js'),
|
|
|
+ 'node:crypto': resolve('build/empty.js'),
|
|
|
+ 'node:http': resolve('build/empty.js'),
|
|
|
+ 'node:https': resolve('build/empty.js'),
|
|
|
+ 'node:stream': resolve('build/empty.js'),
|
|
|
+ 'node:process': resolve('build/empty.js'),
|
|
|
+ 'node:url': resolve('build/empty.js'),
|
|
|
+ 'node:util': resolve('build/empty.js'),
|
|
|
+ 'node:buffer': resolve('build/empty.js'),
|
|
|
+ 'node:events': resolve('build/empty.js')
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
chainWebpack(config) {
|
|
|
+ // Webpack 4 无法解析 node: 协议的内置模块,统一替换为空模块
|
|
|
+ config.plugin('replace-node-protocol')
|
|
|
+ .use(webpack.NormalModuleReplacementPlugin, [
|
|
|
+ /^node:.+$/,
|
|
|
+ resolve('build/empty.js')
|
|
|
+ ])
|
|
|
+
|
|
|
config.plugins.delete('preload') // TODO: need test
|
|
|
config.plugins.delete('prefetch') // TODO: need test
|
|
|
|