• package.json和bower的参数解释


    package.json和bower的参数解释

     

    一、package.json解释:

    package.json是用来声明项目中使用的模块,
    这样新的环境部署时,只要在package.json文件所在的目录执行npminstall就可以安装新的所需要的模块了。
    {
    "name": "angular-phonecat",name 是必须的字段
    不要在name中含有node,js等字样
    名字最终会是url的一部分,命令行的参数,目录名不能以点号或者下划线开头
    名字可能在require()方法中被调用,所以要尽可能的短。
    "private": true,private设置为true,npm会拒绝发布,这样会防止私有的repositories不小心被发布出去。
    "version": "0.0.0",version也是必须字段。
    "description": "A tutorial application for AngularJS",description是可选字段,npm search的时候会用到的。
    "repository": "https://github.com/angular/angular-phonecat",repository是可选字段,用来指示代码存放的位置。
    /*("repository" :
    { "type" : "git"
    , "url" : "http://github.com/npm/npm.git"
    }

    "repository" :
    { "type" : "svn"
    , "url" : "http://v8.googlecode.com/svn/trunk/"
    })*/
    "license": "MIT",/*可选的字段,如果是使用一个普遍的license,比如BSD-3-Clause或MIT,直接使用:

    { "license" : "BSD-3-Clause" }*/
    "devDependencies": {
    //devDependencies是可选的字段可选字段。如果只需要下载使用某些模块,而不下载这些模块的测试和文档框架,放在这个下面比较不错。
    //感觉和Dependencies差不多,是指当前包所以来的其他包
    //版本的格式可以使version完全匹配,>,>=,<,<=这个版本,~Version接近这个版本,^version兼容这个版本等
    //1.2.x X代表任意数字,因此1.2.1, 1.2.3等都可以
    "bower": "^1.7.7",包管理器
    "http-server": "^0.9.0",轻量级Web服务器
    "jasmine-core": "^2.4.1",
    "karma": "^0.13.22",用于运行单元测试
    "karma-chrome-launcher": "^0.2.3",
    "karma-firefox-launcher": "^0.1.7",
    "karma-jasmine": "^0.3.8",
    "protractor": "^3.2.2"运行端到端的测试
    },

    scripts是可选的字段,实际上指的是npm-scripts。
    npm run为每条命令提供了pre-和post-两个钩子(hook)。
    "scripts": {
    postinstall是指install任务完成之后会执行postinstall任务
    3最后运行 "postinstall": "bower install",

    prestart是指在先执行prestart任务再执行start任务。
    1先运行 "prestart": "npm install",
    2再运行"start": "http-server ./app -a localhost -p 8000 -c-1",

    "pretest": "npm install",
    "test": "karma start karma.conf.js",
    "test-single-run": "karma start karma.conf.js --single-run",

    "preupdate-webdriver": "npm install",
    "update-webdriver": "webdriver-manager update",

    "preprotractor": "npm run update-webdriver",
    "protractor": "protractor e2e-tests/protractor.conf.js",

    "update-index-async": "node -e \"var fs=require('fs'),indexFile='app/index-async.html',loaderFile='app/bower_components/angular-loader/angular-loader.min.js',loaderText=fs.readFileSync(loaderFile,'utf-8').split(/sourceMappingURL=angular-loader.min.js.map/).join('sourceMappingURL=bower_components/angular-loader/angular-loader.min.js.map'),indexText=fs.readFileSync(indexFile,'utf-8').split(/\\/\\/@@NG_LOADER_START@@[\\s\\S]*\\/\\/@@NG_LOADER_END@@/).join('//@@NG_LOADER_START@@\\n'+loaderText+' //@@NG_LOADER_END@@');fs.writeFileSync(indexFile,indexText);\""
    }
    }
    从上面可以看出,运行npm start之前都会运行npm install,然后start运行"http-server ./app -a localhost -p 8000 -c-1
    启动一个服务器。最后运行的是bower install安装bower管理的包。


    二、http-server介绍:
    http-server是一个简单的零配置命令行http服务器,基于node.js。
    在命令行的使用:$node http-server
    在package.json中定义的方式:
    "scripts":{
    "start":"http-server -a 0.0.0.0 -p 8000",
    }
    其中的参数:
    -p 端口号 (默认 8080)

    -a IP 地址 (默认 0.0.0.0)

    -d 显示目录列表 (默认 'True')

    -i 显示 autoIndex (默认 'True')

    -e or --ext 如果没有提供默认的文件扩展名(默认 'html')

    -s or --silent 禁止日志信息输出

    --cors 启用 CORS

    -o 在开始服务后打开浏览器

    -h or --help 打印列表并退出

    -c 为 cache-control max-age header 设置Cache time(秒) ,禁用 caching, 则值设为 -1 .

    三、bower相关:存放在bower_components里面
    $ npm install -g bower 建立并初始化bower
    $ bower install <package>把 bower install packages 建立在bower_components里面,
    一个package可以是一个url,一个github shorthand ,一个git endpoint等。
    例如:
    # installs the project dependencies listed in bower.json(这是注释)
    $ bower install
    # registered package
    $ bower install jquery
    # GitHub shorthand
    $ bower install desandro/masonry
    # Git endpoint
    $ bower install git://github.com/user/package.git
    # URL
    $ bower install http://example.com/script.js
    之后save packages 用$ bower init建立一个bower.json,㐈$ bower install PACHAGE --save保存新建的bower.json
    使用use packages,<script src="bower_components/jquery/dist/jquery.min.js"></script>

    bower.json内容:
    {
    "name": "angular-phonecat",
    "description": "A starter project for AngularJS",
    "version": "0.0.0",
    "homepage": "https://github.com/angular/angular-phonecat",
    "license": "MIT",
    "private": true,
    "dependencies": {
    "angular": "1.5.x",
    "angular-animate": "1.5.x",
    "angular-mocks": "1.5.x",
    "angular-resource": "1.5.x",
    "angular-route": "1.5.x",
    "bootstrap": "3.3.x",
    "jquery": "2.2.x"
    }
    }

     
     
  • 相关阅读:
    推荐几款Winform下的皮肤控件!
    PetShop之业务逻辑层设计 《解剖PetShop》系列之五
    25款.NET开发必备工具推荐
    在aspx页面实现高亮显示搜过关键字
    PetShop之ASP.NET缓存 《解剖PetShop》系列之四
    ASP.NET页面加载顺序
    PetShop之表示层设计 《解剖PetShop》系列之六
    C#打包应用程序
    .NET获取英文月份缩写名(可获取其他国家)
    SQL Server 日期格式化输出
  • 原文地址:https://www.cnblogs.com/xuanwotianming153/p/7357952.html
Copyright © 2020-2023  润新知