angularjs离线文档怎么部署 webpack angular 指令文件怎么打包
angularjs离线文档怎么部署
需要的材料:
nginx
官方angularjs zip 完整包
步骤:
1 先上www.angular.org 下载个完整的zip包
2 到nginx 网站下载 nginx
3 修改 nginx-1.6.2conf
ginx.conf 文件, 在server_name 配置项下加入
if ( $request_uri ~ ^/(api|guide) ) {
rewrite ^(.*)$ /index-production.html last
}
加入完成后就是这个样子
[plain] view plain copy
server {
listen 80
server_name localhost
if ( $request_uri ~ ^/(api|guide) ) {
rewrite ^(.*)$ /index-production.html last
}
#charset koi8-r
#access_log logs/host.access.log main
location / {
root html
index index.html index.htm
}
将下载下来的zip包解压,将docs 文件夹放入nginx 文件夹的html 文件夹中
webpack angular 指令文件怎么打包
安装Webpack及其他组件
安装Webpack之前建议先安装Node.js,然后采用npm的方式来安装Webpack:
npm install webpack -g
因为要用到angular,所以要安装angular:npm install angular
还要安装一系列加载器(loader):
npm install style-loader css-loader url-loader sass-loader raw-loader
注意:除了webpack是全局安装之外,其他组件都是安装在app文件夹下面,会自动生成node_modules文件夹。
3.配置文件webpack.config.js
4.入口文件index.js
require用于引入外部模块(可以是对象,可以是函数,可以是css样式,可以是html页面等)
5.主页面index.html
可以看到主页面是非常干净清爽的,只引入了一个输出文件bundle.js,然后html标签里加了ng-app="app"。
6.指令文件hello-world.jsmodule.exports用于将模块(文件)作为一个接口(一般是一个函数)暴露给外部。
7.其他文件(style.css、hello-world.html、hello-world.scss)
8.编译和运行
在命令行工具中输入:webpack,即可编译。
我们会遇到第一个坑:
这个错误的关键行在"You may need an appropriate loader to handle the file type",大概意思就是你的加载器(loader)不正确,可是我们明明安装上了所有的加载器啊,也在配置文件中引用了呀,原来问题出在配置文件中的"module"下的"loader"应该是"loaders",就因为少了一个"s",浪费我一上午的时间。
修改过来之后,编译通过了,我们在浏览器中打开主页面index.html,这时遇到了第二个坑:
大概意思是你跨域了,不能加载hello-world.html这个文件,问题出在指令文件hello-world.js中的引用模板地址的代码:
templateUrl: directives/hello-world/hello-world.html
在网上搜到一个解决办法,就是使用Node.js自带的的http-server.
使用之前要先安装express:npm install express,然后在命令行工具中输入node server.js开启服务,这时在浏览器中输入:localhost:8000/index.html即可访问主页面。
另外一个方法是用require的方式引入hello-world.html:
template: require(./hello-world.html)
angular4怎样创建和使用url地址配置文件
根级维护一个url类
@Injectable()
export class HttpData {
HOST:string
constructor(){
this.HOST = XXXXX
}
}
根模块注声明注入
@NgModule({
providers: [ HttpData ],
...
})
直接在某个组件或服务使用即可
class XXComponent {
constructor(private httpData:HttpData) {
console.log(httpData.HOST)
}
}
你也可以在声明注入时使用别名
providers: [{provide: NICKNAME, useClass: HttpData}]
直接在某个组件或服务使用即可
class XXComponent {
constructor(@Inject(NICKNAME) private httpData:HttpData) {
console.log(httpData.HOST)
}
}
angular2 不使用liteserver怎么部署
创建目录 $ mkdir angular-quickstart $ cd angular-quickstart 载入需要的库 这里我们推荐使用 npm 来作为包的管理工具,如果你还没安装npm或者不了解 npm 可以查看我们的教程:NPM 使用介绍。 创建 package.json 文件
关于angularJS的目录结构,要每个JS文件里面都要先写配置么
AngularJS 与 jQuery 等传统操作 DOM 的思想有所不同, 对于 jQuery 等,一般是先有完整 DOM 然后在这些 DOM 的基础上进行二次调教。 而 AngularJS 等框架则是 根据 数据模型 以及其对应的 DOM 模版,然后通过模版像搭积木那样组合页面。
angularjs 在哪个文件
写了这么多AngularJS代码,可以说我对AngularJS了解比较深入了。Backbone也是一个很热门的JS框架,我通读了一下它的API文档,大概了解了他的运行机制。
Backbone很精巧,很强大。但对比AngularJS,我说说我看到的Backbone的缺点,由于接触时间短,可能会存在误解,见谅。
Backbone的Model把服务器端的数据模型映射到浏览器端,绑定数据验证机制,并与相应的REST操作绑定,这样每个数据模型都变成了独立体,方便REST操作,却限制REST的灵活性。比如我要将10个todo批量标记成已完成,它会发出10个REST请求。
Backbone的Model没有与UI视图数据绑定,而是需要在View中自行操作DOM来更新或读取UI数据,这点很奇怪。AngularJS与此相反,Model直接与UI视图绑定,Model与UI视图的关系,通过directive封装,AngularJS内置的通用directive,就能实现大部分操作了,也就是说,基本不必关心Model与UI视图的关系,直接操作Model就行了,UI视图自动更新。而Model数据验证、与服务器端的数据交互都是非常简单而自由的。