安装 FlClash
- 下载并安装 FlClash 的依赖:
npm install flclash
配置应用
a. 在网页中添加 FlClash
- 在 HTML 文件中添加以下代码:
<link rel="stylesheet" href="/.index.json">
这会加载 FlClash 的配置文件。
b. 设置配置文件
- 在
./.index.json文件中设置 FlClash 的基本配置:{ "baseUrl": "./", "baseUrlDir": "./src", "configDir": "./config", "app": { "name": "FlClash", "template": "flclash", "templateOption": "main", "baseUrl": "FlClash", "htmlDir": "./html", "htmlResolution": "3", "htmlExtension": ".html", "render": { "use:html": true, "use:js": true, "use:client": true, }, "isLoading": false, "startUp": true, "configOptions": { "scriptbase": "http://localhost:3", "htmlbase": "http://localhost:3", "jsbase": "http://localhost:3", "htmlEnv": "FlClash", "htmlEnvPath": "./htmlEnv.js", "jsEnv": "FlClash", "jsEnvPath": "./jsEnv.js", }, }, "appConfig": { "port": 3, "baseUrl": "FlClash", "htmlDir": "./html", "htmlResolution": "3", "htmlExtension": ".html", "renderOptions": { "htmlProvider": { "baseUrl": "FlClash", "htmlDir": "./html", "htmlResolution": "3", "htmlExtension": ".html", }, "htmlProviderEnv": { "baseUrl": "FlClash", "htmlDir": "./html", "htmlResolution": "3", "htmlExtension": ".html", }, }, }, "htmlProvider": { "baseUrl": "FlClash", "htmlDir": "./html", "htmlResolution": "3", "htmlExtension": ".html", }, }
配置前端渲染
a. 在 HTML 文件中配置前端渲染:
<script type="text/x-data" id="FlClash" data-flclash">
{fetch('/').then((res) => { return res.json(); }).then((json) => {
console.log('FlClash version:', JSON.stringify(json));
})}
</script>
b. 在网页的 JavaScript 中配置前端渲染:
// 在 HTML 文件中添加 script 事件 listener:
document.addEventListener('DOMContentLoaded', (e) => {
fetch('/').then((res) => {
const response = res.json();
console.log('FlClash version:', response);
}).catch(err => {
console.error('Error:', err);
});
});
配置后端渲染
a. 在 JavaScript 中配置后端渲染:
// 在 HTML 文件中添加 script 事件 listener:
document.addEventListener('DOMContentLoaded', (e) => {
fetch('/').then((res) => {
const response = res.json();
console.log('FlClash version:', response);
}).catch(err => {
console.error('Error:', err);
});
});
配置 FlClash 的配置选项
a. 在网页中添加配置选项:
<script type="text/event" id="FlClash">
{fetch('/').then((res) => {
const options = JSON.parse(res.json());
// Markdown 支持
options['markdown'] = {
extensions: ['markdown'],
extensionsOptions: {
'extensions': {
'markdown': {
'full': true,
'token': '##',
}
}
}
}
// 前端渲染
options['frontend'] = {
options: {
'htmlProvider': {
'baseUrl': 'FlClash',
'htmlDir': './html',
'htmlResolution': '3',
'htmlExtension': '.html',
},
},
}
// 后端渲染
options['backend'] = {
options: {
'jsEnv': {
'baseUrl': 'FlClash',
'jsDir': './js',
'jsResolution': '3',
'jsExtension': '.js',
},
}
}
}, error: function(err) {
console.error('FlClash配置错误:', err);
})
</script>
保存配置
- 保存配置文件
./.index.json,以确保配置被引用。
在 Flask 上运行 FlClash
在 Flask 中配置 FlClash:
from flask import Flask, render_template_string
app = Flask(__name__)
app.config['FlClash.FLCLASH_URL'] = 'http://localhost:3'
app.config['FlClash.FLCLASH_URL_BASE_URL'] = 'FlClash'
app.config['FlClash.FLCLASH_JS_URL'] = 'http://localhost:3'
if __name__ == '__main__':
app.run()
使用示例
参考 FlClash 的示例配置,可以在网页中添加以下内容:
<!DOCTYPE html>
<html>
<head>FlClash</title>
<script type="text/event">
{fetch('/').then((res) => {
const options = JSON.parse(res.json());
console.log('FlClash version:', options);
}).catch(err => {
console.error('Error:', err);
})}
</script>
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/FlClash@latest/dist/FlClash.min.js"></script>
</body>
</html>
使用 FlClash 作为后端工具
如果你使用的是 Flask,可以将 FlClash 设定为后端渲染工具:
if __name__ == '__main__':
app = Flask(__name__)
app.config['FlClash.FLCLASH_URL'] = 'http://localhost:3'
app.config['FlClash.FLCLASH_URL_BASE_URL'] = 'FlClash'
app.config['FlClash.FLCLASH_JS_URL'] = 'http://localhost:3'
app.run()
扩展 FlClash
如果你有更多需求,比如支持多个语言或复杂的应用逻辑,可以考虑使用其他工具,如 Webpack、Flask 或 Leaflet,或者结合其他编辑器如 Sublime Text 或 VS Code。
常见问题与解决方案
- 错误提示:确保配置文件正确无误,查看配置文件中的错误信息。
- 性能问题:配置的FlClash服务器可能需要调整 port 或 URL。
- 渲染延迟:确保配置的FlClash backend 正常运行。









