网站客服:zx81024163 |

公司网站源码|公司小程序源码带手机版

2023-09-20 23:02:18发布    浏览575次    信息编号:74935

友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。

公司网站源码|公司小程序源码带手机版

世界正在变得非常数字化。 其中,网站对于任何初创公司、公司、企业或个人的重要性都有其重要性,我们都知道。 现在,并不是每个人都知道复杂的编码甚至拖放创建。 每个人都没有时间、意愿或精力为自己创建一个网站。 这就是网站设计师和网站开发专业人员发挥作用的地方。 在这篇文章中,我将主要讨论我们使用的工具以及如何使用它们来创建动态网站。 这些是我们通常用于客户项目的工具。

演示:

设计:设计团队使用figma来创建网站的设计,初始版本的屏幕截图如下所示。 该设计经过四次迭代完成,第一次是低保真线框。 几乎每个人都以某种方式为设计做出了贡献。

内容:我们有专人负责网站素材的文案撰写,他们与设计团队合作,确保所写的内容与设计一致。

开发:创建设计和内容后,我们继续构建网站。 在讨论技术细节之前,让我列出该网站支持的一些内容。

对用户界面做出反应

适用于 SSG/SSR/ISSG

CSS 样式

CSS 模块样式没有类名冲突

GSAP动画

邮件列表

CI/CD 和托管

运动动画

向我们的代码库添加类型安全

我可能会在这个阶段多花一点时间,因为开发是最令人着迷的阶段。 它是网站的基础,所有组件都构建在其之上。 下面是一个可重用组件及其样式的示例。

.tsx

import {
  FC,
  forwardRef,
  ButtonHTMLAttributes,
  JSXElementConstructor,
  ReactElement,
} from 'react';
import Link from 'next/link';
import { motion } from 'framer-motion';
import cn from 'classnames';
import s from './Button.module.scss';
interface ButtonProps extends ButtonHTMLAttributes {
  href?: string;
  className?: string;
  disabled?: boolean;
  rightIcon?: ReactElement;
  leftIcon?: ReactElement;
  active?: boolean;
  target?: '_blank' | '_self' | '_parent' | '_top';
  size?: 'sm' | 'md' | 'lg';
  variant?:
    | 'primary'
    | 'secondary'
    | 'white'
    | 'black'
    | 'naked'
    | 'outlineBlack'
    | 'outlineWhite'
    | 'square';
  as?: 'button' | 'a' | JSXElementConstructor;
}
export const Button: FC = forwardRef((props, buttonRef) => {
  const {
    as: Tag = 'button',
    variant = 'primary',
    size = 'md',
    target = '_self',
    href,
    active,
    rightIcon,
    leftIcon,
    className,
    disabled,
    children,
    ...rest
  } = props;
  const classes = cn(
    s.root,
    {
      [s.primary]: variant === 'primary',
      [s.outlineBlack]: variant === 'outlineBlack',
      [s.outlineWhite]: variant === 'outlineWhite',
      [s.secondary]: variant === 'secondary',
      [s.white]: variant === 'white',
      [s.naked]: variant === 'naked',
      [s.black]: variant === 'black',
      [s.square]: variant === 'square',
      [s.md]: size === 'md',
      [s.sm]: size === 'sm',
      [s.lg]: size === 'lg',
      'flex items-center gap-3': (rightIcon || leftIcon) && size === 'md',
      [s.dFlex]: (rightIcon || leftIcon) && size === 'lg',
      [s.active]: active,
    },
    className
  );
  return (
    
      {href ? (
        
          
            
              {leftIcon}
              {children}
              {rightIcon}
            
          
        
      ) : (
        
          {leftIcon}
          {children}
          {rightIcon}
        
      )}
    
  );
});
Button.displayName = 'Button';

.scss

.root {
  @apply mb-1 transition duration-200 ease-linear;
}
.dFlex {
  @apply flex items-center gap-5;
}
.primary {
  @apply relative overflow-hidden border border-primary bg-primary text-white;
  span,
  svg {
    @apply relative z-[2];
  }
  &::after {
    content: '';
    @apply absolute top-0 left-0 block h-full w-0 bg-white transition-[width] duration-300 ease-linear;
  }
  &:hover {
    @apply text-primary;
  }
  &:hover::after {
    @apply w-full;
  }
}
.naked {
  @apply bg-transparent;
}
.black {
  @apply relative border border-black bg-black text-white;
  &::after {
    content: '';
    @apply absolute top-0 left-0 block h-full w-0 bg-white mix-blend-difference transition-[width] duration-300 ease-linear;
  }
  &:hover::after {
    @apply w-full;
  }
}
.white {
  @apply border border-white bg-white text-primary;
}
.secondary {
  @apply border border-secondary bg-secondary text-white;
}
.outlineBlack {
  @apply relative border border-black;
  &::after {
    content: '';
    @apply absolute top-0 left-0 block h-full w-0 bg-white mix-blend-difference transition-[width] duration-300 ease-linear;
  }
  &:hover::after {
    @apply w-full;
  }
}
.square {
  @apply relative flex h-12 w-12 items-center justify-center rounded-full border border-black p-0 hover:scale-110 3xl:h-20 3xl:w-20 3xl:border-2 #{!important};
}
.outlineWhite {
  @apply relative border border-white text-white;
  &::before {
    content: '';
    @apply absolute left-[20%] -bottom-[1px] h-[1px] w-7 bg-black transition-[left];
  }
  &::after {
    content: '';
    @apply absolute right-[20%] -top-[1px] h-[1px] w-7 bg-black transition-[right];
  }
  &:hover::before {
    @apply left-[30%];
  }
  &:hover::after {
    @apply right-[30%];
  }
  &:hover {
    @apply opacity-100;
  }
}
.sm {
  @apply px-4 py-2;
}
.md {
  @apply px-4 py-[10px] xl:px-6;
}
.lg {
  @apply px-5 py-4 text-sm font-medium xl:py-[1.1rem] xl:px-8 xl:text-base 3xl:px-16 3xl:py-6 3xl:text-lg;
}

组件是用于确保类型安全的代码。 也有助于编写自记录代码。 对于我们使用的样式,但请注意,我们的 React 组件中的类是干净的,因为实用程序类位于单独的 css 文件(即 CSS)中。 CSS 模块有助于避免 CSS 类的命名空间冲突。 下面介绍如何使用它。

我们所有的可重用组件都是这样编码的。

这些小部件(例如 、 和 )位于 Text 文件夹中,并使用单个文件导出,以便可以像 /ui/index.ts 一样导入它们

{ Text, Box, , Link, } 来自 '@/ui';

常见元素(例如 和 )位于 // 文件夹中,页面特定元素位于 /pages/[page-name] 文件夹中。

搜索引擎优化

我们必须确保我们的网站对搜索引擎友好,因此我们创建了一个页面组件,该组件将一些 SEO 数据作为道具,网站上的每个页面都将其用作父页面。

html.tsx

import type { NextPage } from 'next';
import { Page, HowMuch } from '@components/shared';
import { Hero, Intro, Team } from '@components/pages/about';
const Home: NextPage = () => {
  return (
    
      
      
      
      
    
  );
};
export default Home;

页面使用示例

import { FC } from 'react';
import Head from 'next/head';
interface Props {
  title: string;
  description: string;
  image: string;
  canonicalURL?: string;
}
export const Page: FC = ({
  children,
  title,
  description,
  image,
  canonicalURL,
}) => {
  return (
    <>
      
        {title}
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        {canonicalURL && }
      
      
{children}
); };

网站开发公司由不同的专业人士组成,如网站设计师、图形设计师、编码员、IT 专业人士、创意总监等,他们致力于帮助客户创建适合他们需求和利基的应用程序或网站。

这些公司为其客户创建的网站类型通常基于以下因素:

1. 客户的预算

2.他们的利基市场

3.他们的品味或营销理念

4. 他们想要纳入的一些具体功能

5.类型

6. 所需的目标和号召性用语类型

该过程首先与客户讨论需求,讨论预算,然后合并计划。 然后创建它,并根据需要进行一些修改和更改后,最终产品就准备好了。 然后,客户将接受某种培训,以有效地使用他们新创建的网站,然后该过程结束。 这些公司的好处之一是他们还提供维护服务,因此他们的客户支持不仅仅是创建网站。

确保我们获得最全面、最清晰的沟通并接触到我们网站开发公司的人才至关重要。

那么,这些公司实际上为他们的客户做了什么?

1. 构思并执行网站的设计和结构

2.使用代码创建网站

3. 设计并集成各种媒体、插件和必要的功能

4. 网站内容的发布和维护

5. 测试用户界面、导航、用户、设备和浏览器的友好性 6. 测试

速度和其他对于用户友好的网站至关重要的因素7.Beta

测试

8.他们有时也会关注SEO

9. 如果需要,修复网站/应用程序中的错误和错误

10.及其他功能范围

虽然有些人可能会认为 1.0 和 1.0 等免费平台的兴起使任何人都可以为他们创建网站,但这些平台只有在您有足够的时间和设计专业知识的情况下才有效。 此外,即使您投入了大量精力创建网站,如果您使用这些应用程序,结果也可能达不到预期。 网站开发公司是专业的,确保创建的网站用户友好并满足人群和客户的期望。

提醒:请联系我时一定说明是从星空网上看到的!