什么是Aurelia?

Aurelia 是一个新的开源的,基于web标准的mvvm框架,是一个现代化的js模块的集合。

Aurelia提供了丰富的plugin,例如国际化,验证,模态框,UI可视化等。

其强大的binding模块和template模块,能够帮助你更专注于你的业务逻辑,写出清晰高效的代码。

Aurelia 是一个较新颖的项目,但是在github上也是备受关注,现在的star数量已经超过了1W+。

有兴趣的小伙伴可以看一下这个git项目:https://github.com/aurelia/framework

以及它的官网:https://aurelia.io/

话不多说接下来介绍几种搭建Aurelia项目的方式。

1. Aurelia-Cli 脚手架

先全局安装Aurelia 脚手架 npm install -g aurelia-cli

在通过输入命令行 au new

接着跟着提示一步一步完成新项目的搭建

如果看到这个Happy Coding,那么就可以切换到该目录下,通过au run 命令,来启动项目

2. Webpack

虽然aurelia-cli中也有选项可以快速创建基于webpack的项目,但是脚手架搭建出来的项目个人感觉东西比较多,比较复杂,虽然可以直接上手开发,但还是希望能够了解一下这些个配置文件的意义。

所以这里会讲解如何用webpack,一步一步搭建aurelia项目。 项目可以基于TS,或者JS,我这里为了少加ts相关的loader,就选择使用了js。

1. 创建空文件夹,之后切换到该文件夹下,用npm init,创建package.json,可以按照下图添加依赖,之后npm install 一下

html-loader: html loader

webpack,webpack-cli,webpack-dev-server: webpack打包,开发需要的package

aurelia-webpack-plugin: 帮助webpack理解以及解析aurelia代码

html-webpack-plugin: 处理html模板

部署需要的依赖就两个: aurelia-bootstrapper, aurelia-framework

3. 之后在该文件夹下,创建webpack.config.js

mode: 打包模式

resolve:从哪里去读取依赖文件

entry:如果使用aurelia构建项目,那么项目的入口文件必然是aurelia-bootstrapper,这一点需要注意

output: 打包后的文件放置于哪个文件夹

watch:检测文件变化

devtool:代码的sourcemap

devserver:指定服务器从哪里去读取资源

module:rules 定义了读取文件的loader

plugins:插件

4. 根目录添加index.html

这是项目的启始页,需要注意的是aurelia-app 这个属性指定的文件(配置)

5. 接着来看这个配置文件,main.js

这边需要注意的是,我这里使用的是js文件,所以参数au 没有去指定类型,但其实au的类型就是上面import 中的Aurelia

可以直接使用默认的configuration。

这个文件会调用au.start() 来启动aurelia,以及setRoot来设置项目的根节点

6. 接着来看如何添加app 模板

在aurelia中创建模板是一件非常简单的事情,添加“-”命名连接的html文件以及同名的js或ts文件,之后添加如下代码,那么一个标准的模板就创建完毕了。

除了标准模板之外,也可以创建一个纯视图的模板(只有html文件)或者创建一个没有视图的文件(只有ts或者js文件)

7. 项目结构

8 完成上述配置之后,可以通过命令行 npm run dev来启动项目

最后打开浏览器看到HelloWorld!,那么简单的aurelia项目就搭建完毕了。

除了上述两种方式之外,还可以使用JSPM或者官网提供直接提供的项目骨架。

如果之后有需要的话,会去尝试一下用JSPM来配置项目。

创建Aurelia项目的更多相关文章

  1. 创建maven项目(cmd 命令)

    2016五月 22 原 创建maven项目(cmd 命令) 分类:maven (994) (0) 1.普通方式创建 1)进入cmd窗口执行 mvn archetype:generate 2) 光标停止 ...

  2. (八)Eclipse创建Maven项目运行mvn命令

    1.Eclipse创建Maven项目 使用Eclipse创建一个Maven项目非常的简单,选择菜单项File>New>Other(也可以在项目结构空白处右击鼠标键),在弹出的对话框中选择M ...

  3. Jenkins创建Maven项目及SSH部署

    前面我们已经安装了Jenkins的环境,以及配置好了jdk和maven.下面我们来看如何通过Jenkins将svn的项目进行打包和部署. 创建MAVEN项目 1.点击新建,输入项目名,选择" ...

  4. 终端指令操作创建Django项目

    需求:通过Django创建一个用户表和权限表. 用户表包括:用户名,邮箱,密码,管理权限. 权限表包括:普通用户,管理用户,超级用户. 权限表和用户表有一对多的关系,即用户表中的每条数据对应权限表中的 ...

  5. VS自定义项目模板:[2]创建VSIX项目模板扩展

    VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...

  6. 用Kotlin开发Android应用(II):创建新项目

    这是关于Kotlin的第二篇.各位高手发现问题,请继续“拍砖”. 原文标题:Kotlin for Android(II): Create a new project 原文链接:http://anton ...

  7. Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...

  8. Eclipse+Maven创建webapp项目<一>(转)

    还在为jar下载而烦恼吗?还在为jar依赖关系而烦恼吗?还在为jar冲突而烦恼吗?强大的maven项目管理工具来拯救你们呢?自动下载jar,自动下载jar依赖包.你什么都不用做,只需要在中央仓库中co ...

  9. Eclipse+maven创建webapp项目<二>(转)

    原文地址:http://www.cnblogs.com/candle806/p/3439469.html 1.开启eclipse,右键new-->other,如下图找到maven project ...

随机推荐

  1. Chrome部分站点无法启用Flash问题

    ## 69.0之前 ## 1. 打开 chrome://settings/content/flash 2. 禁止网站运行Flash -> 改为“先询问(推荐)” 3. 允许->添加 4. ...

  2. 使用 shell 在多服务器上批量操作

    需求 日常工作中,我们常需要同时在多台服务器上执行同样的命令,如对比日志.检查服务等.这就需要我们有服务器批量操作的能力. 两年前写过一篇文章,shell实现SSH自动登陆 使用 shell 的 ex ...

  3. jQuery.extend(object)

     为jQuery类添加类方法,可以理解为添加静态方法. jQuery.extend({ min: function(a, b) { return a < b ? a : b; }, max: f ...

  4. 再谈spring的循环依赖是怎么造成的?

    老生常谈,循环依赖!顾名思义嘛,就是你依赖我,我依赖你,然后就造成了循环依赖了!由于A中注入B,B中注入A导致的吗? 看起来没毛病,然而,却没有说清楚问题!甚至会让你觉得你是不清楚spring的循环依 ...

  5. 工作随笔—static关键字

    问题:在声明一个变量的时候,添加static与不添加static区别在哪里? 回答:在声明一个变量的时候,添加static关键字,那么这个变量就会在保存在代码器里面,而不会保存到堆里面去了,当其余的对 ...

  6. java开发面试问题

    Java面试题:java的垮平台原理 为什么要跨平台使用????? 其实说白了就是个操作系统支持的指令集是不一样的.我们的程序需要再不同的操作系统上运行这些代码. 但是不要说jvm是跨平台的,而真正跨 ...

  7. js中select标签中的option选择

    f1 = function () { //var selected_val = document.getElementById(test).value; var obj = document.getE ...

  8. vue 项目实战 (生命周期钩子)

    开篇先来一张图 下图是官方展示的生命周期图 Vue实例的生命周期钩子函数(8个)        1. beforeCreate             刚 new了一个组件,无法访问到数据和真实的do ...

  9. linux设置打开文件句柄数

    介绍 在Linux下有时会遇到Socket/File : Can't open so many files的问题.其实Linux是有文件句柄限制的,而且Linux默认一般都是1024(阿里云主机默认是 ...

  10. 新装mysql数据库登陆不上去(账号密码正确)

    Open & Edit /etc/my.cnf Add skip-grant-tables under [mysqld] Restart Mysql You should be able to ...