♻️ Rename entry export to HaloJs

This commit is contained in:
zhengyi 2023-12-25 14:18:27 +08:00
parent f7785b9ab3
commit 320c3b9d92
5 changed files with 1505 additions and 13 deletions

View File

@ -1,4 +1,4 @@
import {haloRender} from "../src"; import HaloJs, {haloJs, haloRender} from "../src";
const editor = document.getElementById("editor") const editor = document.getElementById("editor")
const preview = document.getElementById("preview") const preview = document.getElementById("preview")
@ -12,7 +12,7 @@ const render = () => {
const text = editor.value const text = editor.value
let ht = "" let ht = ""
text.split("---").forEach(ele => { text.split("---").forEach(ele => {
ht += haloRender(ele) ht += HaloJs.renderHalo(ele)
}) })
console.log(ht) console.log(ht)
preview.innerHTML = ht preview.innerHTML = ht

View File

@ -1,8 +1,8 @@
{ {
"name": "halo-render", "name": "halo-render",
"version": "1.0.0", "version": "1.0.0",
"description": "", "description": "A render for halo-plugin-vditor",
"main": "index.js", "main": "dist/index.js",
"scripts": { "scripts": {
"dev": "webpack serve --config webpack.dev.js", "dev": "webpack serve --config webpack.dev.js",
"build": "webpack" "build": "webpack"
@ -11,6 +11,9 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"devDependencies": { "devDependencies": {
"@babel/core": "^7.23.6",
"@babel/preset-env": "^7.23.6",
"babel-loader": "^9.1.3",
"css-loader": "^6.8.1", "css-loader": "^6.8.1",
"html-webpack-plugin": "^5.5.4", "html-webpack-plugin": "^5.5.4",
"less": "^4.2.0", "less": "^4.2.0",

File diff suppressed because it is too large Load Diff

View File

@ -2,11 +2,15 @@ import "./less/render.less"
import {RENDER_CLASS} from "./constant"; import {RENDER_CLASS} from "./constant";
import {ProviderFactory} from "./provider/provider"; import {ProviderFactory} from "./provider/provider";
export const haloRender = (src: string): string => { class HaloJs {
src = src.trim() public static renderHalo = (src: string): string => {
const line = src.split("\n"); src = src.trim()
const type = line[0] const line = src.split("\n");
line.splice(0, 1) const type = line[0]
const content = line.join("\n") line.splice(0, 1)
return ProviderFactory.getFactory().process(type, content) const content = line.join("\n")
return ProviderFactory.getFactory().process(type, content)
}
} }
export default HaloJs

View File

@ -7,13 +7,41 @@ module.exports = {
}, },
output: { output: {
path: path.resolve(__dirname, "dist"), path: path.resolve(__dirname, "dist"),
filename: "[name].js" filename: "[name].js",
library: 'HaloJs',
libraryExport: 'default',
}, },
resolve: { resolve: {
extensions: ['.ts', '.js', '.less', 'png'], extensions: ['.ts', '.js', '.less', 'png'],
}, },
module: { module: {
rules: [ rules: [
{
test: /\.js$/,
exclude: '/node_modules/',
use: {
loader: 'babel-loader',
options: {
presets: [
[
'@babel/env',
{
targets: {
browsers: [
'last 2 Chrome major versions',
'last 2 Firefox major versions',
'last 2 Safari major versions',
'last 2 Edge major versions',
'last 2 iOS major versions',
'last 2 ChromeAndroid major versions',
],
},
},
],
],
},
},
},
{ {
test: /\.tsx?$/, test: /\.tsx?$/,
use: "ts-loader", use: "ts-loader",
@ -39,5 +67,5 @@ module.exports = {
filename: "index.css" filename: "index.css"
}) })
], ],
mode: "development" mode: "production"
} }