Solid安装 #
一、环境准备 #
1.1 系统要求 #
text
Node.js >= 16.0.0
npm >= 7.0.0 或 pnpm >= 7.0.0 或 yarn >= 1.22
1.2 检查环境 #
bash
# 检查 Node.js 版本
node -v
# 检查 npm 版本
npm -v
# 检查 pnpm 版本(如果使用)
pnpm -v
二、创建新项目 #
2.1 使用 Vite(推荐) #
Vite 是 Solid 官方推荐的构建工具,提供快速的开发体验。
bash
# 使用 npm
npm create vite@latest my-solid-app -- --template solid
# 使用 TypeScript 模板(推荐)
npm create vite@latest my-solid-app -- --template solid-ts
# 使用 pnpm
pnpm create vite my-solid-app --template solid-ts
# 使用 yarn
yarn create vite my-solid-app --template solid-ts
2.2 项目结构 #
text
my-solid-app/
├── public/
│ └── vite.svg
├── src/
│ ├── App.jsx # 根组件
│ ├── App.css # 样式文件
│ ├── index.jsx # 入口文件
│ └── index.css # 全局样式
├── index.html # HTML 模板
├── package.json # 项目配置
├── vite.config.js # Vite 配置
└── tsconfig.json # TypeScript 配置(TS项目)
2.3 启动项目 #
bash
# 进入项目目录
cd my-solid-app
# 安装依赖
npm install
# 启动开发服务器
npm run dev
访问 http://localhost:5173 查看应用。
三、手动配置项目 #
3.1 创建项目目录 #
bash
mkdir my-solid-app
cd my-solid-app
npm init -y
3.2 安装依赖 #
bash
# 安装 Solid 核心
npm install solid-js
# 安装 Vite 和插件
npm install -D vite @vitejs/plugin-solid
# 安装 TypeScript(可选)
npm install -D typescript @types/node
3.3 配置 Vite #
创建 vite.config.js:
javascript
import { defineConfig } from 'vite';
import solid from '@vitejs/plugin-solid';
export default defineConfig({
plugins: [solid()],
server: {
port: 3000,
open: true
},
build: {
target: 'esnext'
}
});
3.4 创建入口文件 #
创建 index.html:
html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Solid App</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/index.jsx"></script>
</body>
</html>
创建 src/index.jsx:
jsx
import { render } from 'solid-js/web';
import App from './App';
render(() => <App />, document.getElementById('root'));
创建 src/App.jsx:
jsx
import { createSignal } from 'solid-js';
function App() {
const [count, setCount] = createSignal(0);
return (
<div>
<h1>Hello Solid!</h1>
<p>Count: {count()}</p>
<button onClick={() => setCount(c => c + 1)}>
Increment
</button>
</div>
);
}
export default App;
3.5 配置 package.json #
json
{
"name": "my-solid-app",
"version": "1.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"solid-js": "^1.8.0"
},
"devDependencies": {
"vite": "^5.0.0",
"@vitejs/plugin-solid": "^2.8.0"
}
}
四、TypeScript 配置 #
4.1 tsconfig.json #
json
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "bundler",
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"jsx": "preserve",
"jsxImportSource": "solid-js",
"types": ["vite/client"],
"noEmit": true,
"isolatedModules": true,
"paths": {
"@/*": ["./src/*"]
}
},
"include": ["src"]
}
4.2 TypeScript 组件示例 #
src/App.tsx:
tsx
import { createSignal, JSX } from 'solid-js';
interface AppProps {
name?: string;
}
function App(props: AppProps): JSX.Element {
const [count, setCount] = createSignal<number>(0);
return (
<div>
<h1>Hello {props.name || 'Solid'}!</h1>
<p>Count: {count()}</p>
<button onClick={() => setCount(c => c + 1)}>
Increment
</button>
</div>
);
}
export default App;
五、开发工具 #
5.1 VS Code 插件 #
推荐安装以下 VS Code 插件:
text
必装插件
├── Solid (vscode-solid) - Solid 语法高亮
├── TypeScript Vue Plugin (Volar) - TS 支持
└── ESLint - 代码检查
推荐插件
├── Prettier - 代码格式化
├── Tailwind CSS IntelliSense - Tailwind 支持
└── Auto Rename Tag - 标签自动重命名
5.2 浏览器扩展 #
安装 Solid DevTools:
5.3 ESLint 配置 #
bash
npm install -D eslint @typescript-eslint/parser eslint-plugin-solid
创建 .eslintrc.cjs:
javascript
module.exports = {
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint', 'solid'],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:solid/recommended'
],
rules: {
'solid/reactivity': 'error',
'solid/no-destructure': 'error'
}
};
六、项目脚本 #
6.1 常用命令 #
json
{
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
"lint": "eslint src --ext .ts,.tsx",
"type-check": "tsc --noEmit"
}
}
6.2 命令说明 #
| 命令 | 说明 |
|---|---|
npm run dev |
启动开发服务器 |
npm run build |
构建生产版本 |
npm run preview |
预览构建结果 |
npm run lint |
代码检查 |
npm run type-check |
类型检查 |
七、常见问题 #
7.1 JSX 配置问题 #
如果遇到 JSX 解析错误,确保:
vite.config.js中配置了@vitejs/plugin-solidtsconfig.json中设置了"jsxImportSource": "solid-js"
7.2 热更新问题 #
Solid 支持热模块替换(HMR),如果热更新不工作:
javascript
// vite.config.js
import { defineConfig } from 'vite';
import solid from '@vitejs/plugin-solid';
export default defineConfig({
plugins: [solid({ hot: true })]
});
7.3 路径别名 #
配置路径别名:
javascript
// vite.config.js
import { defineConfig } from 'vite';
import solid from '@vitejs/plugin-solid';
import path from 'path';
export default defineConfig({
plugins: [solid()],
resolve: {
alias: {
'@': path.resolve(__dirname, './src')
}
}
});
八、总结 #
安装 Solid 的关键步骤:
- 使用 Vite 模板:快速创建项目
- 配置 TypeScript:获得更好的开发体验
- 安装开发工具:VS Code 插件和浏览器扩展
- 配置 ESLint:保证代码质量
推荐的开发环境:
- Node.js >= 18
- Vite 作为构建工具
- TypeScript 进行类型检查
- VS Code + Solid 插件
最后更新:2026-03-28