Skip to content

Commit d472f55

Browse files
committed
feat: md;
1 parent 3fb058e commit d472f55

2 files changed

Lines changed: 55 additions & 2 deletions

File tree

README.md

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,12 @@ import('https://cdn.jsdelivr.net/npm/nova-view@0.1.9/dist/lib/nova-dom.min.js').
4141
// ... 相同代码
4242
});
4343

44-
// 方法3:如果 CSP 限制严格,使用本地文件
44+
// 方法3:如果遇到 Rollup 打包错误,使用全局变量方式
45+
// 打开: https://unpkg.com/nova-view@0.1.9/dist/lib/nova-dom.umd.min.js
46+
// 复制全部代码到控制台,然后运行:
47+
// const { Dom, mount, ref } = window['nova-view']; /* 同上代码 */
48+
49+
// 方法4:如果 CSP 限制严格,使用本地文件
4550
// 1. 下载: curl -o nova-dom.min.js https://unpkg.com/nova-view@0.1.9/dist/lib/nova-dom.min.js
4651
// 2. 然后在控制台运行:
4752
// import('./nova-dom.min.js').then(({ Dom, mount, ref }) => { /* 同上代码 */ });
@@ -141,7 +146,7 @@ npm install nova-view
141146
</script>
142147
```
143148

144-
**方式2:全局变量(推荐)**
149+
**方式2:全局变量(推荐,兼容性最好**
145150
```html
146151
<!DOCTYPE html>
147152
<html>
@@ -170,6 +175,26 @@ npm install nova-view
170175
</html>
171176
```
172177

178+
**方式3:如果遇到 jsDelivr 打包错误**
179+
180+
某些环境下 jsDelivr 的 Rollup v2.79.2 可能无法处理我们的包,可以使用以下替代方案:
181+
182+
```html
183+
<!-- 使用 unpkg (推荐) -->
184+
<script src="https://unpkg.com/nova-view@0.1.9/dist/lib/nova-dom.umd.min.js"></script>
185+
186+
<!-- 或者使用 cdnjs -->
187+
<script src="https://cdnjs.cloudflare.com/ajax/libs/nova-view/0.1.9/nova-dom.umd.min.js"></script>
188+
189+
<!-- 或者下载到本地使用 -->
190+
<script src="./nova-dom.umd.min.js"></script>
191+
192+
<script>
193+
// 然后使用全局变量
194+
const { Dom, ref, component, mount } = window['nova-view'];
195+
</script>
196+
```
197+
173198
**故障排除**
174199

175200
如果动态导入失败,请检查:

packages/lib/vite.config.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,34 @@ export default defineConfig({
8787
// 其他视为外部依赖
8888
return !id.startsWith(resolve(__dirname, 'src'));
8989
},
90+
// 为 UMD 构建使用更兼容的配置
91+
output: [
92+
// ES Module 输出
93+
{
94+
format: 'es',
95+
compact: true,
96+
preserveModules: false,
97+
exports: 'named',
98+
banner: "'use strict';",
99+
inlineDynamicImports: true,
100+
generatedCode: {
101+
constBindings: true,
102+
symbols: true,
103+
},
104+
},
105+
// UMD 输出 - 简化以最大化兼容性
106+
{
107+
format: 'umd',
108+
name: 'NovaView',
109+
compact: true,
110+
preserveModules: false,
111+
exports: 'named',
112+
banner: "'use strict';",
113+
inlineDynamicImports: true,
114+
// 使用最兼容的代码生成选项
115+
generatedCode: 'es5',
116+
},
117+
],
90118

91119
output: [
92120
// ES Module 输出

0 commit comments

Comments
 (0)