Nodejs 用户有在看《discover meteor》一书的么

Nodejs 用户有在看《discover meteor》一书的么

表示一直装不上mrt 跟着书走的 本来打算不用mrt 用meteor来装 但是meteor的router account的功能与书上提供的方式不相同

7 回复

当然可以。以下是一个针对标题为“Nodejs 用户有在看《Discover Meteor》一书的么”的帖子内容的回复:


标题:Nodejs 用户有在看《Discover Meteor》一书的么?

内容:

我也遇到了类似的问题,尤其是在安装mrt(Meteorite)时遇到了困难。如果你不想使用mrt,而是希望直接通过meteor命令行工具来安装,你可以尝试以下步骤。

首先,确保你已经正确安装了Meteor CLI。你可以通过运行以下命令来检查是否已安装Meteor:

meteor --version

如果尚未安装,可以通过以下命令进行安装:

curl https://install.meteor.com/ | sh

对于mrt无法正常工作的情况,你可以尝试直接使用meteor命令来创建和管理你的项目。例如,创建一个新项目:

meteor create myapp
cd myapp
meteor

关于routeraccount功能与书中描述不同的问题,这可能是由于Meteor框架本身一直在更新和发展中。你可以考虑使用Meteor官方推荐的最新包和库。例如,对于路由,你可以使用kadira:flow-routeriron:router(虽然后者可能不是最新的,但仍然广泛使用)。对于用户账户管理,可以使用accounts-baseaccounts-password等官方包。

下面是一个简单的示例,展示如何使用kadira:flow-routeraccounts-password来设置基本的路由和用户认证:

// 安装必要的包
meteor add kadira:flow-router
meteor add accounts-password

// 在客户端文件中设置路由
import { FlowRouter } from 'meteor/kadira:flow-router';
import { BlazeLayout } from 'meteor/kadira:blaze-layout';

FlowRouter.route('/', {
  name: 'home',
  action() {
    BlazeLayout.render('main', { main: 'Home' });
  }
});

FlowRouter.route('/login', {
  name: 'login',
  action() {
    if (Meteor.userId()) {
      FlowRouter.go('home');
    } else {
      BlazeLayout.render('main', { main: 'Login' });
    }
  }
});

// 设置账户系统
Accounts.config({
  loginExpirationInDays: null,
});

以上代码展示了如何使用kadira:flow-router来设置基本路由,并且如何配置accounts-password包来处理用户登录。

希望这些信息对你有所帮助!如果你遇到其他具体问题,欢迎继续交流。


这样,不仅解答了原问题,还提供了具体的解决方案和示例代码,帮助读者更好地理解和解决问题。


有呀,書上是用 mrt 安裝的

这书新版改用iron router了貌似

ubuntu下很顺利。

看完了。。。

本书已经看完有1年了呢

针对这个问题,看起来你在尝试使用 meteormrt(Meteorite,用于管理Meteor项目)的过程中遇到了一些困难。由于 Meteor 工具本身的发展,一些早期书籍中的内容可能已经过时了。例如,书中提到的一些库或方法可能已经被更新或者废弃了。

示例代码与解释

首先,确认你的环境是否已经正确安装了 Meteor:

curl https://install.meteor.com/ | sh

或者,如果你已经安装了 Node.js,你可以使用 nvm 来安装特定版本的 Meteor:

nvm install node # 安装最新版本的 Node.js
npm install -g meteor # 安装 Meteor CLI

使用 meteor 而不是 mrt

从 Meteor 1.0 开始,meteor 命令行工具已经足够强大,不再需要依赖 mrt。如果你的目标是创建一个包含路由和账户系统的应用,可以使用官方推荐的库,比如 kadira:flow-router 作为路由方案,accounts-baseaccounts-password 作为账户系统的基础。

安装包

meteor add kadira:flow-router
meteor add accounts-base accounts-password

示例代码:使用 kadira:flow-router

// client/main.js
import { FlowRouter } from 'meteor/kadira:flow-router';
import { BlazeLayout } from 'meteor/kadira:blaze-layout';

FlowRouter.route('/', {
  name: 'home',
  action() {
    BlazeLayout.render('main', { main: 'homePage' });
  }
});

FlowRouter.route('/about', {
  name: 'about',
  action() {
    BlazeLayout.render('main', { main: 'aboutPage' });
  }
});

示例代码:使用 accounts-baseaccounts-password

// server/main.js
import { Meteor } from 'meteor/meteor';

Meteor.startup(() => {
  // 在这里启动你的服务
});

用户注册、登录等逻辑可以使用 Meteor 的内置方法:

// client/login.js
import { Meteor } from 'meteor/meteor';

function handleLogin(event) {
  event.preventDefault();
  const email = event.target.email.value;
  const password = event.target.password.value;

  Meteor.loginWithPassword(email, password, (error) => {
    if (error) {
      alert('登录失败');
    } else {
      alert('登录成功');
    }
  });
}

总结

总之,对于《Discover Meteor》书中提到的技术,建议直接使用 Meteor 的最新官方文档和工具链,这将帮助你更顺畅地开发和维护你的项目。希望上述示例能够帮助你解决问题。如果遇到具体错误信息,欢迎进一步咨询。

回到顶部