-
Notifications
You must be signed in to change notification settings - Fork 232
Description
我在项目中引用了其它项目的组件, 组件页面框架能显示,但是页面中引入的其它组件不显示,可能是什么原因
// 暴露组件的项目配置文件
`const FileManagerPlugin = require('filemanager-webpack-plugin');
const vue2 = require('@efox/plugin-vue-2')
const {defineConfig} = require('@efox/emp')
const {cdn} = require('./cdn')
const esm = (name, mode, version) =>
https://esm.sh/${name}${version ? '@' + version : ''}${mode === 'development' ? '?dev' : ''}
const packageName = 'dist';
var IS_PROD = (process.env.NODE_ENV == 'CLUSTER') ? true:false
console.log("|"+process.env.NODE_ENV+"|")
console.log(IS_PROD ? '注意:当前是生产环境!!!' : '开发或测试模式')
module.exports = defineConfig(config => {
const{mode, env} = config
// const target = 'es2018'
const target = 'es5'
const isESM = !['es3', 'es5'].includes(target)
return {
plugins: [vue2],
appEntry: 'main.js',
server: {port: 9005},
html: {
title: 'EMP Vue2 Base',
favicon: 'src/logo.png',
template: 'src/index.html'
},
build: {
target,
//是否清空生成文件夹
emptyOutDir: true,
//生产 环境:打包时不生成.map文件,设置为false 避免看到源码
sourcemap: !IS_PROD,
// + 类型 boolean | swc
// + 默认 true
// 启用 swc 进行压缩 比 terser 速度提升 7倍,目前处于 RC 阶段,可以正常使用
minify: true,
outDir: 'dist'
},
debug:{
clearLog: true,
progress: true,
profile: false,
level: 'info'
},
empShare: {
name: 'roadViewUi',
exposes: {
'./commonLess':'./src/styles/common.less',
'./roadUserInfoApi': './src/views/road-maintenance/roadUserInfo/api',
'./roadUserInfo': './src/views/road-maintenance/roadUserInfo/roadUserInfo',
'./countyLevelRoads': './src/views/road-maintenance/countyLevelRoads',
'./roadIndex': './src/views/road-maintenance/index',
'./event-notice': './src/views/road-maintenance/event-notice',
'./roadMain': './src/views/roadgov/road/main',
'./roadMap': './src/views/roadgov/road/map',
'./roadInfoMain': './src/views/roadgov/road-info/main',
'./roadInfoMap': './src/views/roadgov/road-info/map',
'./roadInfoModal': './src/views/roadgov/road-info/modal',
'./mapCoordinate': './src/views/my-components/common/map-coordinate',
'./roadWarningMain': './src/views/roadgov/road-warning/main',
'./roadWarningMap': './src/views/roadgov/road-warning/map',
'./roadWarningModal': './src/views/roadgov/road-warning/modal',
},
// shared: {
// vue: {requiredVersion: '^2.6.14'},
// 'element-ui': {requiredVersion: '^2.0.0'},
// 'vue-router': {requiredVersion: '^3.0.0'},
// 'view-design' :{requiredVersion:'^4.4.0'}
// },
shareLib: !isESM
? cdn(mode)
:
{
vue: esm('vue',mode,'2.6.14'),
// 'element-ui': esm('element-ui'),
'view-design': esm('view-design',mode,'4.7.0')
},
},
"resolve":{
"alias": {
"@": "src"
},
},
// webpack配置
webpackChain: (chain, config) => {
if (process.env.NODE_ENV == 'production'
|| 'buildTest' == process.env.NODE_ENV
|| 'CLUSTER' == process.env.NODE_ENV
) {
// 增加zip打包插件
chain.plugin('FileManagerPlugin').use(
new FileManagerPlugin({
events: {
onEnd: {
delete: [ //首先需要删除项目根目录下的dist.zip
./${packageName}.zip
],
archive: [ //然后我们选择dist文件夹将之打包成dist.zip并放在根目录
{source: ./${packageName}, destination: ./${packageName}.zip, format: 'zip'},
]
}
}
})
)
///
}
},
optimization: {
//webpack不自动读取配置文件中的mode给process.env.NODE_ENV赋值
nodeEnv: false
}
/////////////////////
}
})
`
// 引用组件项目的配置文件
`const FileManagerPlugin = require('filemanager-webpack-plugin');
const vue2 = require('@efox/plugin-vue-2')
const {defineConfig} = require('@efox/emp')
const {cdn} = require('./cdn')
const esm = (name, mode, version) =>
https://esm.sh/${name}${version ? '@' + version : ''}${mode === 'development' ? '?dev' : ''}
const packageName = 'dist';
var IS_PROD = (process.env.NODE_ENV == 'CLUSTER') ? true:false
console.log("|"+process.env.NODE_ENV+"|")
console.log(IS_PROD ? '注意:当前是生产环境!!!' : '开发或测试模式')
module.exports = defineConfig(config => {
const{mode, env} = config
// const target = 'es2018'
const target = 'es5'
const isESM = !['es3', 'es5'].includes(target)
return {
plugins: [vue2],
appEntry: 'main.js',
server: {port: 9003},
html: {
title: 'EMP Vue2 Base',
favicon: 'src/logo.png',
template: 'src/index.html'
},
build: {
target,
//是否清空生成文件夹
emptyOutDir: true,
//生产 环境:打包时不生成.map文件,设置为false 避免看到源码
sourcemap: !IS_PROD,
// + 类型 boolean | swc
// + 默认 true
// 启用 swc 进行压缩 比 terser 速度提升 7倍,目前处于 RC 阶段,可以正常使用
minify: true,
outDir: 'dist'
},
debug:{
clearLog: true,
progress: true,
profile: false,
level: 'info'
},
empShare: {
name: 'whpgovViewUi',
remotes: {
'@roadViewUi': 'roadViewUi@http://192.168.124.66:9005/emp.js',
},
exposes: {
},
// shared: {
// vue: {requiredVersion: '^2.6.14'},
// 'element-ui': {requiredVersion: '^2.0.0'},
// 'vue-router': {requiredVersion: '^3.0.0'},
// 'view-design' :{requiredVersion:'^4.4.0'}
// },
shareLib: !isESM
? cdn(mode)
:
{
vue: esm('vue',mode,'2.6.14'),
// 'element-ui': esm('element-ui'),
'view-design': esm('view-design',mode,'4.7.0')
},
},
"resolve":{
"alias": {
"@": "src"
},
},
// webpack配置
webpackChain: (chain, config) => {
if (process.env.NODE_ENV == 'production'
|| 'buildTest' == process.env.NODE_ENV
|| 'CLUSTER' == process.env.NODE_ENV
) {
// 增加zip打包插件
chain.plugin('FileManagerPlugin').use(
new FileManagerPlugin({
events: {
onEnd: {
delete: [ //首先需要删除项目根目录下的dist.zip
`./${packageName}.zip`
],
archive: [ //然后我们选择dist文件夹将之打包成dist.zip并放在根目录
{source: `./${packageName}`, destination: `./${packageName}.zip`, format: 'zip'},
]
}
}
})
)
///
}
},
optimization: {
//webpack不自动读取配置文件中的mode给process.env.NODE_ENV赋值
nodeEnv: false
}
/////////////////////
}
})`