美文网首页
如何使用npm

如何使用npm

作者: 阿鲁提尔 | 来源:发表于2018-04-03 16:03 被阅读0次
    如何新建一个npm包

    npm init 初始化npm,会创建一个pageage.json。包含npm包的相关信息。


    git init
    touch README.md index.js .npmignore
    //.npmignore用来隐藏上传文件
    
    npm install --save xxx 
    //保存到本地,当别人安装的时候,会一起安装到本地
    安装后会在pageage.json的dependencies中存在记录
    
    npm install --save-dev xxx 
    //自己做开发测试的时候用到的,别人安装的时候,不会一起安装到本地
    安装后会在pageage.json的devdependencies中存在记录
    
    如何发布
    npm login
    //输入npm用户名和密码
    
    npm publish  //上传
    
    如何去用
    npm install alutier02 --save
    
    例子
    假如发布了一个包 名字叫sayhello
    
    index.js只有一条语句
    #!/user/bin/env node  
    //系统会默认使用node执行
    console.log('hello')
    
    pageage.json添加
    "bin":{
      "sayhello":"./index.js"
    },
    //输入sayhello之后,相当于执行index.js文件
    
    安装该包以后,只要在命令行执行 sayhello
    //输出 hello
    
    
    
    "scripts": {
        "start":"echo start....",
        "build":"echo build",
        "test": "echo \"Error: no test specified\" && exit 1"
      },
    //这里面的东西通过
    //npm start 运行;npm test运行
    //除了start 和 test之外其他的命令,需要npm run build运行
    
    
    全局安装
    npm install alutier02 --g
    //可以全局使用
    
    package.js中的script
    npm <command>
    "script": {
       "test":"mkdir abc"
    }
    
    npm test 就创建一个文件夹abc
    
    npm 后面的命令只能是这里面的其中一个
    npm run <command>

    对于不是以上命令的,需要 npm run <command>
    run可以运行自定义命令。

    //例子
    "script": {
       "test":"mkdir abc",
       "mk2":"mkdir abc2",
       "delete":"rm -r abc2"
    }
    npm run mk2  //创建文件夹mk2
    npm run delete  //删除文件夹mk2
    
    npm实例
    {
      "scripts": {
        "css:scss": "app=node-sass npm run check; node-sass --output-style compressed -o dist/css src/scss",
        "css:autoprefixer": "app=postcss-cli npm run check; app=autoprefixer npm run check; postcss -u autoprefixer -r dist/css/*",
        "css:compress": "app=csso npm run check; csso in.css --output out.css",
        "css:less": "app=less npm run check; lessc --clean-css styles.less styles.min.css",
    
        "js:webpack": "app=webpack npm run check; webpack",
        "js:webpack:uncompress": "app=webpack npm run check; uglify=0 webpack",
        "js:lint": "app=eslint npm run check; && eslint src/js",
        "js:uglify": "app=uglifyjs npm run check; mkdir -p dist/js && uglifyjs src/js/*.js -m -o dist/js/app.js",
    
        "image:imagemin": "app=imagemin-cli npm run check; imagemin src/images dist/images -p",
    
        "server": "app=browser-sync npm run check; browser-sync start --server --files 'dist/css/*.css, dist/js/*.js'",
    
        "watch": "app=onchange npm run check; onchange 'src/js/*.js' -- npm run build:js",
    
        "watch:webpack": "onchange 'public/src/js/**/!(bundle.js)' -- npm run webpack:js",
        "watch:all": "app=parallelshell npm run check; parallelshell 'npm run css:autoprefixer' 'npm run js:init' ",
    
        "check": "[ -z \"$(app=$app node -p 'try{url=process.env.app+\"/package.json\"; require(url).version}catch(e){exports=\"\"}')\" ] && npm i -D $app || echo \"already installed $app\"; "
      }
    }
    

    相关文章

      网友评论

          本文标题:如何使用npm

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