Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
genary
uni-app
提交
8f8aa2af
U
uni-app
项目概览
genary
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
8f8aa2af
编写于
11月 04, 2021
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: support pnpm :question/133516
上级
ae6ea342
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
45 addition
and
12 deletion
+45
-12
packages/uni-cli-shared/lib/manifest.js
packages/uni-cli-shared/lib/manifest.js
+2
-3
packages/uni-cli-shared/lib/util.js
packages/uni-cli-shared/lib/util.js
+19
-0
packages/vue-cli-plugin-hbuilderx/index.js
packages/vue-cli-plugin-hbuilderx/index.js
+1
-1
packages/vue-cli-plugin-uni/lib/configure-webpack.js
packages/vue-cli-plugin-uni/lib/configure-webpack.js
+19
-4
packages/vue-cli-plugin-uni/lib/env.js
packages/vue-cli-plugin-uni/lib/env.js
+4
-4
未找到文件。
packages/uni-cli-shared/lib/manifest.js
浏览文件 @
8f8aa2af
...
...
@@ -85,8 +85,7 @@ function getH5Options (manifestJson) {
}
/* eslint-disable no-mixed-operators */
h5
.
template
=
h5
.
template
&&
path
.
resolve
(
process
.
env
.
UNI_INPUT_DIR
,
h5
.
template
)
||
path
.
resolve
(
__dirname
,
'
../../../../public/index.html
'
)
h5
.
template
=
h5
.
template
&&
path
.
resolve
(
process
.
env
.
UNI_INPUT_DIR
,
h5
.
template
)
||
path
.
resolve
(
require
(
'
./util
'
).
getCLIContext
(),
'
public/index.html
'
)
h5
.
devServer
=
h5
.
devServer
||
{}
...
...
packages/uni-cli-shared/lib/util.js
浏览文件 @
8f8aa2af
...
...
@@ -14,6 +14,24 @@ try {
const
isInHBuilderX
=
!!
aboutPkg
const
isInHBuilderXAlpha
=
!!
(
isInHBuilderX
&&
aboutPkg
.
alpha
)
function
getCLIContext
()
{
var
context
=
path
.
resolve
(
__dirname
,
'
../../../../
'
)
// const isInHBuilderX = fs.existsSync(path.resolve(context, 'bin/uniapp-cli.js'))
if
(
isInHBuilderX
)
{
return
context
}
const
pnpmFind
=
__dirname
.
match
(
/.+
?[\/\\]
.pnpm
[\/\\]
/
)
if
(
pnpmFind
)
{
const
pnpm
=
pnpmFind
[
0
]
context
=
path
.
resolve
(
pnpm
,
'
../../
'
)
}
const
isInCLI
=
fs
.
existsSync
(
path
.
resolve
(
context
,
'
./src
'
))
if
(
isInCLI
)
{
return
context
}
return
process
.
cwd
()
}
function
removeExt
(
str
,
ext
)
{
if
(
ext
)
{
const
reg
=
new
RegExp
(
ext
.
replace
(
/
\.
/
,
'
\\
.
'
)
+
'
$
'
)
...
...
@@ -105,6 +123,7 @@ const _hasOwnProperty = Object.prototype.hasOwnProperty
module
.
exports
=
{
isInHBuilderX
,
isInHBuilderXAlpha
,
getCLIContext
,
normalizeNodeModules
,
md5
,
hasOwn
(
obj
,
key
)
{
...
...
packages/vue-cli-plugin-hbuilderx/index.js
浏览文件 @
8f8aa2af
...
...
@@ -2,7 +2,7 @@ const fs = require('fs')
const
path
=
require
(
'
path
'
)
const
uniI18n
=
require
(
'
@dcloudio/uni-cli-i18n
'
)
process
.
env
.
UNI_CLI_CONTEXT
=
path
.
resolve
(
__dirname
,
'
../../../
'
)
process
.
env
.
UNI_CLI_CONTEXT
=
require
(
'
@dcloudio/uni-cli-shared/lib/util
'
).
getCLIContext
(
)
process
.
env
.
UNI_HBUILDERX_PLUGINS
=
process
.
env
.
UNI_HBUILDERX_PLUGINS
||
path
.
resolve
(
__dirname
,
'
../../../../
'
)
...
...
packages/vue-cli-plugin-uni/lib/configure-webpack.js
浏览文件 @
8f8aa2af
...
...
@@ -15,7 +15,7 @@ function resolve (dir) {
}
function
resolveModule
(
dir
)
{
return
path
.
resolve
(
__dirname
,
'
../../..
'
,
dir
)
return
path
.
resolve
(
process
.
env
.
UNI_CLI_CONTEXT
,
'
./node_modules
'
,
dir
)
}
module
.
exports
=
function
configureWebpack
(
platformOptions
,
manifestPlatformOptions
,
vueOptions
,
api
)
{
...
...
@@ -184,8 +184,9 @@ module.exports = function configureWebpack (platformOptions, manifestPlatformOpt
platformWebpackConfig
=
platformWebpackConfig
(
webpackConfig
,
vueOptions
,
api
)
}
// 移除 node_modules 目录,避免受路径上的 node_modules 影响
webpackConfig
.
resolve
.
modules
=
webpackConfig
.
resolve
.
modules
.
filter
(
module
=>
module
!==
'
node_modules
'
)
if
(
require
(
'
@dcloudio/uni-cli-shared/lib/util
'
).
isInHBuilderX
)
{
webpackConfig
.
resolve
.
modules
=
webpackConfig
.
resolve
.
modules
.
filter
(
module
=>
module
!==
'
node_modules
'
)
}
const
plugins
=
[]
...
...
@@ -298,6 +299,17 @@ module.exports = function configureWebpack (platformOptions, manifestPlatformOpt
}
}
catch
(
e
)
{}
const
resolveLoaderAlias
=
{}
const
modules
=
[
'
@vue/cli-plugin-babel
'
,
'
@vue/cli-service
'
]
modules
.
forEach
(
m
=>
{
const
{
dependencies
}
=
require
(
`
${
m
}
/package.json`
)
Object
.
keys
(
dependencies
).
forEach
(
key
=>
{
if
(
/-loader$/
.
test
(
key
))
{
resolveLoaderAlias
[
key
]
=
require
.
resolve
(
key
)
}
})
})
return
merge
({
devtool
:
false
,
resolve
:
{
...
...
@@ -325,6 +337,9 @@ module.exports = function configureWebpack (platformOptions, manifestPlatformOpt
noParse
:
/^
(
vue|vue-router|vuex|vuex-router-sync
)
$/
,
rules
},
resolveLoader
:
{
alias
:
resolveLoaderAlias
},
plugins
,
performance
:
{
assetFilter
(
assetFilename
)
{
...
...
packages/vue-cli-plugin-uni/lib/env.js
浏览文件 @
8f8aa2af
...
...
@@ -107,11 +107,13 @@ if (process.env.UNI_CLOUD_SPACES) {
}
// 初始化环境变量
const
defaultOutputDir
=
'
../../../../dist/
'
+
process
.
env
.
UNI_CLI_CONTEXT
=
require
(
'
@dcloudio/uni-cli-shared/lib/util
'
).
getCLIContext
()
const
defaultOutputDir
=
'
./dist/
'
+
(
process
.
env
.
NODE_ENV
===
'
production
'
?
'
build
'
:
'
dev
'
)
+
'
/
'
+
(
process
.
env
.
UNI_SUB_PLATFORM
||
process
.
env
.
UNI_PLATFORM
)
process
.
env
.
UNI_OUTPUT_DEFAULT_DIR
=
path
.
resolve
(
__dirname
,
defaultOutputDir
)
process
.
env
.
UNI_OUTPUT_DEFAULT_DIR
=
path
.
resolve
(
process
.
env
.
UNI_CLI_CONTEXT
,
defaultOutputDir
)
if
(
process
.
env
.
UNI_OUTPUT_DIR
&&
process
.
env
.
UNI_OUTPUT_DIR
.
indexOf
(
'
./
'
)
===
0
)
{
process
.
env
.
UNI_OUTPUT_DIR
=
path
.
resolve
(
process
.
cwd
(),
process
.
env
.
UNI_OUTPUT_DIR
)
}
...
...
@@ -124,8 +126,6 @@ if (process.env.UNI_PLATFORM === 'app-plus') {
process
.
env
.
UNI_OUTPUT_TMP_DIR
=
path
.
resolve
(
process
.
env
.
UNI_OUTPUT_DIR
,
'
../.tmp/app-plus
'
)
}
process
.
env
.
UNI_CLI_CONTEXT
=
path
.
resolve
(
__dirname
,
'
../../../../
'
)
process
.
UNI_LIBRARIES
=
process
.
UNI_LIBRARIES
||
[
'
@dcloudio/uni-ui
'
]
if
(
process
.
env
.
NODE_ENV
===
'
production
'
)
{
// 发行模式,不启用 cache
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录