Nodejs 各位大神 怎么解决前端这个坑

Nodejs 各位大神 怎么解决前端这个坑

每次想做些小项目,总是苦于自己的前端太烂,css这玩意总在看总是不停忘,就是没有感觉,楼主在公司里是个后端程序员,对javascript很热爱,但对html,css这些玩意一点天分都没有,玩得转less,却没办法写出一个像样的东西,每当想到一个好点子想实现的时候总是被前端这个坑给拦了,各位大神有没有遇到过楼主的困惑,都怎么搞定的呢?

16 回复

当然可以。以下是一个针对你提出的问题的详细解答,包括一些实用的建议和示例代码。


Node.js 各位大神 怎么解决前端这个坑

背景

作为一名后端开发人员,我对JavaScript非常熟悉,但对于HTML和CSS却常常感到力不从心。尽管我已经尝试学习Less,但在实际项目中编写出美观且功能良好的前端页面仍然是一大挑战。每当想到一个好点子时,往往会被前端这个“坑”给拦下来。希望各位大神能分享一下你们的经验和解决方案。

解决方案

  1. 使用模板引擎

    • 使用模板引擎如EJS、Pug或Handlebars可以帮助你更轻松地管理HTML结构。
    • 示例代码(使用EJS):
      // server.js
      const express = require('express');
      const ejs = require('ejs');
      const app = express();
      
      app.set('view engine', 'ejs');
      
      app.get('/', (req, res) => {
        res.render('index', { title: 'My Awesome Project' });
      });
      
      app.listen(3000, () => {
        console.log('Server is running on port 3000');
      });
      
      <!-- views/index.ejs -->
      <!DOCTYPE html>
      <html lang="en">
      <head>
        <meta charset="UTF-8">
        <title><%= title %></title>
      </head>
      <body>
        <h1>Welcome to My Awesome Project</h1>
      </body>
      </html>
      
  2. 使用CSS框架

    • 使用Bootstrap、Tailwind CSS等框架可以快速构建响应式布局,减少CSS的学习成本。
    • 示例代码(使用Bootstrap):
      <!DOCTYPE html>
      <html lang="en">
      <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>My Awesome Project</title>
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
      </head>
      <body>
        <div class="container mt-5">
          <h1 class="text-center">Welcome to My Awesome Project</h1>
        </div>
        <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.min.js"></script>
      </body>
      </html>
      
  3. 学习基础CSS

    • 尽管使用框架很方便,但理解基础CSS概念仍然是必要的。可以从MDN Web Docs等资源开始学习。
    • 示例代码(基础CSS):
      <!DOCTYPE html>
      <html lang="en">
      <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>My Awesome Project</title>
        <style>
          body {
            font-family: Arial, sans-serif;
            background-color: #f4f4f4;
            margin: 0;
            padding: 0;
          }
          .container {
            max-width: 800px;
            margin: 0 auto;
            padding: 20px;
            background-color: white;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
          }
          h1 {
            color: #333;
            text-align: center;
          }
        </style>
      </head>
      <body>
        <div class="container">
          <h1>Welcome to My Awesome Project</h1>
        </div>
      </body>
      </html>
      

结论

通过使用模板引擎和CSS框架,可以大大减轻前端开发的工作量。同时,学习一些基础的CSS知识也是必要的,这样可以在需要自定义样式时更加得心应手。希望这些建议对你有所帮助!


希望这些示例代码和建议能够帮助你更好地应对前端开发中的挑战。


CSS 我觉得是用来查的… 觉得前端真心好难

果断把坑填了。总不能容忍有个坑天天摆在眼前,一不小心还要踩上去吧?!

关键是怎么填,有没有推荐的填坑手册,或则有什么填坑利器

css是要经常练手滴,尤其是各种hack写法

计算 padding 遇到一个坑… 遇到 position: absolute 相关的边界马上就囧. http://segmentfault.com/q/1010000000130264

真是犯错了… 为什么不是高度相对高度计算呢…

上下内边距与左右内边距一致;即上下内边距的百分数会相对于父元素宽度设置,而不是相对于高度。

我比较在意的是你的这个山寨网站= =

说白了要点艺术细胞的,CSS什么掌握的再熟练不会配色,不懂感官也是白搭

我是一个做前端的,两年不到,建议楼主报名一个ps培训班,或者找人,学一下ps,搞明白什么图层,画布,选区,蒙板这些,基本上看见设计图就有思路了,然后在根据盒模型,文档流来选择相应的标签和css属性呈现设计图就OK了。

用一些ui库,例如ext,全是js生成html界面,或者用twitter的bootstrap纯css/html,模板很多很够用。

究级秘技--抄字诀

前端模块化, 势在必行. Node 用在服务端对 JS 来说是个优势

偶是先把w3cSchool上的css属性全部看了一遍,然后切了个大页面。。。好吧,我承认我是菜鸟。

我用 bootstrap 搭个价。在找有艺术细胞的美化一下。

在 Node.js 项目中,前端技能(如 HTML、CSS 和 JavaScript)确实可能成为瓶颈。不过,你可以通过一些方法来提升前端技能,或者使用一些工具来帮助你更高效地完成前端开发。

提升前端技能

  1. 多实践:通过实际项目进行练习是提升前端技能的有效途径。你可以从简单的项目开始,例如一个待办事项应用。

  2. 学习资源:利用在线教程和书籍,如 MDN Web 文档、W3Schools、《JavaScript 高级程序设计》等。

  3. 框架和库:可以考虑使用一些前端框架和库,如 React、Vue 或 Angular,它们能帮你更快地构建前端界面。

  4. CSS 预处理器:继续使用 Less、Sass 等 CSS 预处理器,它们可以帮助你更好地组织和复用样式。

使用工具辅助开发

  1. 模板引擎:可以使用 EJS、Pug 等模板引擎,这样可以减少重复的手动编写 HTML 的工作量。

  2. 前端框架:如果你不擅长手写 CSS 和 HTML,可以尝试使用一些基于组件的前端框架,如 React、Vue 等。这些框架提供现成的组件,你只需根据需要进行配置。

  3. UI 库:利用 Bootstrap、Ant Design 等 UI 库,这些库提供了大量的预设样式和组件,可以直接使用,从而避免自己编写复杂的样式。

示例代码:使用 EJS 模板引擎和 Ant Design

假设你想创建一个简单的待办事项列表应用,可以使用 EJS 模板引擎和 Ant Design 组件库。

<!-- views/index.ejs -->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>待办事项列表</title>
  <!-- 引入 Ant Design 的 CSS 文件 -->
  <link rel="stylesheet" href="https://unpkg.com/antd/dist/antd.min.css" />
</head>
<body>
  <div id="app">
    <h1>待办事项列表</h1>
    <a-form :model="formState" @submit="handleSubmit">
      <a-form-item label="任务名称">
        <a-input v-model:value="formState.taskName" />
      </a-form-item>
      <a-form-item>
        <a-button type="primary" html-type="submit">添加</a-button>
      </a-form-item>
    </a-form>
    <ul>
      <% items.forEach(function(item) { %>
        <li><%= item %></li>
      <% }) %>
    </ul>
  </div>

  <!-- 引入 Ant Design 的 JS 文件 -->
  <script src="https://unpkg.com/antd/dist/antd.min.js"></script>
  <script>
    const app = new Vue({
      el: '#app',
      data() {
        return {
          formState: {
            taskName: ''
          },
          items: []
        };
      },
      methods: {
        handleSubmit(e) {
          e.preventDefault();
          this.items.push(this.formState.taskName);
          this.formState.taskName = '';
        }
      }
    });
  </script>
</body>
</html>

在这个例子中,我们使用 EJS 渲染待办事项列表,并结合 Vue 和 Ant Design 组件库来简化前端开发。你可以根据需要调整代码,使之适应具体需求。

回到顶部