@quicktvui/web-cli 1.0.0-beta.34 → 1.0.0-beta.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  // @quicktvui/web-cli - web entry
2
2
  // 通过 @quicktvui/web-renderer 导入所有依赖
3
- // 动态加载主入口,确保初始化顺序正确
3
+ // 主入口由 webpack 在本文件之前加载,App 已注册
4
4
 
5
5
  console.log('[Web Renderer] === Starting initialization ===')
6
6
 
@@ -49,25 +49,15 @@ styleEl.textContent = `
49
49
  document.head.appendChild(styleEl)
50
50
  console.log('[Web Renderer] Global CSS reset injected')
51
51
 
52
- // 动态加载主入口,等待加载完成后再启动引擎
53
- console.log('[Web Renderer] Importing main module...')
54
- import(__QUICKTVUI_MAIN_ENTRY__)
55
- .then(() => {
56
- console.log('[Web Renderer] Main module loaded')
57
- console.log('[Web Renderer] Starting engine...')
58
- startWebEngine(engine, APP_NAME)
59
- setTimeout(() => {
60
- console.log('[Web Renderer] === Initialization complete ===')
61
- }, 1000)
62
- })
63
- .catch((err) => {
64
- console.error('[Web Renderer] Failed to load main module:', err)
65
- })
52
+ // 启动引擎(主入口已在前加载并注册 App)
53
+ console.log('[Web Renderer] Starting engine...')
54
+ startWebEngine(engine, APP_NAME)
55
+ console.log('[Web Renderer] === Initialization complete ===')
66
56
 
67
57
  // HMR 支持
58
+
68
59
  if (module.hot) {
69
- module.hot.accept(() => {
70
- console.log('[Web Renderer] HMR update received, reloading...')
71
- window.location.reload()
72
- })
73
- }
60
+
61
+ module.hot.accept()
62
+
63
+ }
@@ -104,16 +104,10 @@ const cssLoader = detectCSSLoader()
104
104
  const cliDir = path.resolve(__dirname, '..')
105
105
  const resolveLoader = (loaderName) => require.resolve(loaderName, { paths: [cliDir] })
106
106
 
107
- // 入口文件:只加载 entry-package.js,主入口通过动态 import 加载
107
+ // 入口文件:主入口作为静态入口以便 HMR 追踪
108
108
  const entryPackageFile = path.resolve(__dirname, 'entry-package.js')
109
109
  // 手动注入 webpack-dev-server 客户端(全局安装时需要)
110
110
  const webpackDevServerPath = require.resolve('webpack-dev-server/client', { paths: [cliDir] })
111
- const entryFiles = [
112
- `${webpackDevServerPath}?http://localhost:${port}`,
113
- 'webpack/hot/dev-server',
114
- 'regenerator-runtime/runtime',
115
- entryPackageFile,
116
- ]
117
111
 
118
112
  module.exports = {
119
113
  mode: 'development',
@@ -162,9 +156,16 @@ module.exports = {
162
156
 
163
157
  devtool: 'source-map',
164
158
 
165
- // 多入口配置:先加载初始化代码,再加载主入口
159
+ // 入口配置:主入口在 entry-package 之前加载以确保 App 先注册
160
+ // webpack 会按顺序执行入口文件
166
161
  entry: {
167
- index: entryFiles,
162
+ index: [
163
+ `${webpackDevServerPath}?http://localhost:${port}`,
164
+ 'webpack/hot/dev-server',
165
+ 'regenerator-runtime/runtime',
166
+ mainEntry, // 先加载主入口,注册 App
167
+ entryPackageFile, // 再加载初始化代码,启动引擎
168
+ ],
168
169
  },
169
170
 
170
171
  output: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quicktvui/web-cli",
3
- "version": "1.0.0-beta.34",
3
+ "version": "1.0.0-beta.36",
4
4
  "description": "CLI tool for QuickTVUI web development - zero configuration",
5
5
  "author": "QuickTVUI Team",
6
6
  "license": "Apache-2.0",