使用 react、tailwind css 和 shadcn 从头开始设置项目,但不使用任何预构建的样板,例如 create-next- app 或 create-react-app,您可以使用 webpack 或其他类似的捆绑器手动配置设置。以下是使用 webpack 进行设置的指南:
第 1 步:初始化 npm 项目
创建一个新的项目目录并初始化一个新的npm项目:
mkdir my-shadcn-app cd my-shadcn-app npm init -y
登录后复制
第2步:安装react和依赖项
安装 react、reactdom、webpack 和 webpack-dev-server:
npm install react react-dom npm install --save-dev webpack webpack-cli webpack-dev-server babel-loader @babel/core @babel/preset-env @babel/preset-react html-webpack-plugin
登录后复制
第 3 步:安装 tailwind css
安装 tailwind css 及其对等依赖项:
npm install -d tailwindcss postcss autoprefixer npx tailwindcss init
登录后复制
这将创建 tailwind.config.js 文件。
第 4 步:配置 webpack
创建用于配置 webpack 的 webpack.config.js 文件:
touch webpack.config.js
登录后复制
在 webpack.config.js 中,添加以下内容:
const path = require('path'); const htmlwebpackplugin = require('html-webpack-plugin'); module.exports = { entry: './src/index.jsx', output: { filename: 'bundle.js', path: path.resolve(__dirname, 'dist'), }, mode: 'development', module: { rules: [ { test: /\.(js|jsx)$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env', '@babel/preset-react'], }, }, }, { test: /\.css$/, use: ['style-loader', 'css-loader', 'postcss-loader'], }, ], }, resolve: { extensions: ['.js', '.jsx'], }, plugins: [ new htmlwebpackplugin({ template: './public/index.html', }), ], devserver: { static: './dist', hot: true, }, };
登录后复制
第 5 步:配置 babel
创建 .babelrc 文件用于 babel 配置:
touch .babelrc
登录后复制
在 .babelrc 中,添加以下内容:
{ "presets": ["@babel/preset-env", "@babel/preset-react"] }
登录后复制
第 6 步:配置 tailwind css
更新 tailwind.config.js 文件以包含组件的路径:
tailwind.config.js:
/** @type {import('tailwindcss').config} */ module.exports = { content: ['./src/**/*.{js,jsx,ts,tsx}', './public/index.html'], theme: { extend: {}, }, plugins: [], };
登录后复制
第 7 步:设置项目结构
为您的 react 应用程序创建必要的文件夹和文件:
mkdir src public touch src/index.jsx src/app.jsx src/index.css public/index.html
登录后复制
公共/index.html:
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>my shadcn app</title><p id="root"></p>
登录后复制
src/index.jsx:
import react from 'react'; import reactdom from 'react-dom'; import app from './app'; import './index.css'; reactdom.render(<app></app>, document.getelementbyid('root'));
登录后复制
src/app.jsx:
import react from 'react'; const app = () => { return ( <p classname="p-6"> <h1 classname="text-3xl font-bold">hello shadcn!</h1> </p> ); }; export default app;
登录后复制
src/index.css:
@tailwind base; @tailwind components; @tailwind utilities;
登录后复制
第8步:安装shadcn组件
现在您已经完成了基本设置,请安装 shadcn 软件包及其组件。为您的 react 项目安装 shadcn cli 和 tailwind 组件:
npx shadcn-init
登录后复制
按照屏幕上的说明安装组件并为您的项目生成 shadcn 库。
第 9 步:更新 npm 脚本
更新 package.json 以添加启动脚本来运行 webpack 开发服务器:
"scripts": { "start": "webpack serve --open" }
登录后复制
第10步:启动开发服务器
使用以下命令运行开发服务器:
npm start
登录后复制
这应该在浏览器中打开您的应用程序,您将看到“hello shadcn!”使用 tailwind css 进行样式设置。您现在可以继续将 shadcn 组件添加到您的 react 项目中。
(人工智能辅助生成)
以上就是如何从头开始启动 Shadcn 项目的详细内容,更多请关注抖狐科技其它相关文章!
-
赛博朋克风回合制节奏战斗游戏《Keylocker》现已正式推出 并获好评
由Moonana进行开发、Serenity Forge负责发行的赛博朋克风回合制节奏战斗游戏《Keylocker | Turn Based Cyberpunk Action》,现已在Steam平台正式...
-
Java函数在金融科技中的应用有哪些?
Java 函数在金融科技中的应用 随着金融科技的飞速发展,Java 函数发挥着至关重要的作用,为金融科技创新提供强大支持。以下是 Java 函数在金融科技中的主要应用场景: 1. 数据分析和预测通过编...
-
万龙觉醒装备如何突破 装备突破玩法
问题:如何提升《万龙觉醒》中装备的品质和属性?简单说明:《万龙觉醒》提供了一种名为装备突破的功能,允许玩家通过消耗材料提升装备的品质和属性。引导阅读:本文将详细介绍装备突破的机制、所需材料以及对角色战...
-
爱奇艺vip会员账号共可以几个人用
一个爱奇艺vip会员账号最多可供两个人同时使用,前提是他们使用不同的设备并通过同一网络连接登录到同一个账号。爱奇艺VIP会员账号可供几人使用 根据爱奇艺VIP会员的条款和条件,一个账号最多可以在两个设...
-
作业帮怎么让别人解答
通过作业帮平台,你可以通过以下步骤寻求作业解答:1. 注册账号;2. 点击“提问”按钮;3. 输入问题并选择科目年级;4. 选择投稿方式;5. 添加图片或文件;6. 提交问题;7. 等待解答。作业帮如...