高级5

作者: 饥人谷_啦啦啦 | 来源:发表于2017-07-26 22:36 被阅读0次

    题目1: 如何全局安装一个 node 应用?

    npm install -g xxx表示全局安装一个node包。

    题目2:package.json 有什么作用?

    相当于本地包(项目)的一个文档说明。
    其中最重要的几个属性分别是
    main // 规定文件的入口。
    dependencies ...// 上传时,告诉npm,这个文件使用过程所用到的包,别人下载你所创建的包时,npm就会自动安装所依赖的包。
    dev dependencies ..// 开发所依赖的包,别人使用时不会下载这个包。
    script // 可以简单的制定前端工作流,便于使用,而且兼容性好。

    npm install ,当package.json中的dependecies 或这 dev dependencies 改变时,使用这个命令就会自动下载所依赖的包。

    {
            "name": "my_package",     //你的项目名称,全部小写,不能有空格,一个单词,允许-和_. 如果是要发布自己的node插件,一般用github上面项目名称。 下次有机会说明 npm 上面的发布流程。
    
            "version": "1.0.0",  //你的项目版本号,最好遵守 GNU 版本号管理。 
    
            "main": "index.js", //目录中启动文件名称。或者称之为入口文件,一般都是 index.js
    
            "scripts": {
    
                "test": "echo \"Error: no test specified\" && exit 1"    //一般默认一个test的空文件夹、用作写测试代码。
    
            },
    
            "keywords": [],  //项目的关键词。 一般用不到,发布npm才用得到。
    
            "author": "ag_dubs", //作者名称
    
            "license": "ISC", //协议 
    
            "repository": {  // 用来存放到 版本管理远程服务。 发布npm才有用
    
                "type": "git",
    
                "url": "https://github.com/ashleygwilliams/my_package.git"
    
            },
    
            "dependencies": {   // 正式使用时,依赖的包
    
                "my_dep": "^1.0.0"
    
            },
    
            "devDependencies" : {//开发或者测试时,依赖的包。
    
                "my_test_framework": "^3.1.0"
    
            }
    
            "bugs": {  //同repository
    
                "url": "https://github.com/ashleygwilliams/my_package/issues"
    
            },
    
            "homepage": "https://github.com/ashleygwilliams/my_package"  //项目主页、 发布才有用
    
        }
    

    题目3: npm install --save app 与 npm install --save-dev app有什么区别?

    • npm install --save app 和npm install --save-dev app 两个都是当前文件夹安装app包,并且都是这个包所依赖的其他包, 但是,--save 执行时,会自动更新 packge.json中的dependencies 。而 --save-dev 会更新 dev dependencies, 开发依赖包。当我们发布包成功,别人下载时,会自动下载 dependencies。而开发依赖的包,不会被用户下载。

    题目4: nodule_modules的查找路径是怎样的?

    当我们在 入口文件 require一个包时,首先 会在当前的nodeule-modules下查找,如果没有这个文件或者没有这个包,就向上级目录查找,直到查询到根目录。

    题目6:webpack是什么?和其他同类型工具比有什么优势?

    webpack是一个模块打包器。

    1. webpack的核心是 一切皆模块的思想,所以,任何模块,CSS,图片,字体,都被webpack当做模块来处理,我们只需要在需要这些模块的时候来require,这样,开发的时候,逻辑就很清晰。开发人员不由自主的就可以让文件分割的彻底,变成一个个的块。只要配置好webpack,就可以实现按需要来加载这些块。
    2. 独有的loader机制,我们可以用loader来处理目前浏览器不兼容的less,ES6啊,然后,webpack自己来处理这些事情,把浏览器看不懂的变成看的懂的,开发人员只需要关注功能实现就可以了。

    题目7:npm script是什么?如何使用?

    npm script 是利用packge.json中 script 这个属性,制定一个工作流。
    比如 ''test'':''mkdir abc'',我们就可以直接使用npm test在当前文件夹创建一个 mkdir abc;
    (但是除了 test和start,设置的其他命令均需要 用npm run xxx来启用),对此,我们可以在命令行的使用上就可以简化很多。不用来敲很多代码,来执行一个命令,而是敲少量的代码,来执行一系列的事情。

    题目8: 使用 webpack 替换 入门-任务15中模块化使用的 requriejs

    github: https://github.com/sys521/task5

    题目9:gulp是什么?使用 gulp 实现图片压缩、CSS 压缩合并、JS 压缩(合并)

    var gulp= require('gulp')
    var gulpconcat=require('gulp-concat')
    var gulpimagemin=require('gulp-imagemin')
    var gulpuglify= require('gulp-uglify')
    var cleanCss=require('gulp-clean-css')
    
    gulp.task('js',function(){                      //js合并,压缩
        return gulp.src('./src/js/*.js')
            .pipe(gulpconcat('index.js'))
            .pipe(gulpuglify())
            .pipe(gulp.dest('./dist/js'))
    })
    gulp.task('imgs',function(){                   //图片压缩
        return gulp.src('./src/imgs/*')
            .pipe(gulpimagemin())
            .pipe(gulp.dest('./dist/imgs/'))
    })
    
    gulp.task('css',function(){
        return gulp.src('./src/css/*.css')        //css合并压缩
            .pipe(gulpconcat('merge.css'))
            .pipe(cleanCss({compatibility:'ie8'}))
            .pipe(gulp.dest('./dist/css'))
    })
    
    gulp.task('build',['js','css','imgs'])
    
    # 题目10:npm制作一个天气预报的包
    

    npm install npmweather -g
    weather
    weather 杭州

    但是今天好像不行
    
    ![接口好像不稳定](https://img.haomeiwen.com/i6127894/7bb9cc86ca9fb392.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

    相关文章

      网友评论

          本文标题:高级5

          本文链接:https://www.haomeiwen.com/subject/tikvkxtx.html