웹 패키지 실행 설정 (1)

7660 단어
웹팩 특징
- webpack    nodejs    ,  webpack   node.exe    
-     webpack      node.exe
- webpakc              ,             (            )

웹 패키지 설치 방법
  • node를 설치합니다.exe의 동료는 자동으로 npm 패키지 관리 도구를 설치합니다
  • npm 패키지 이 관리자가 다운로드한 패키지는 외국에서 유래한 것이기 때문에 속도가 느리고 심지어 오류가 발생하기 때문에 우리는 국내 타오바오가 개발한cnpm을 사용하여 npm의 사용을 대체한다
  • 웹팩 사용하기 전 준비 작업
  • node 환경 설치
  • npm install cnpm -g는 cnpm 전역 설치(어디서나 사용 가능)
  • cnpm install 웹팩-g 웹팩을 글로벌 패키지로 설치
  • cnpm install 웹팩 --save-dev 현재 프로젝트 루트 디렉터리에 웹팩을 설치하여 현재 프로젝트에 사용
  • npm init-y 현재 프로젝트 루트 디렉터리를 npm로 초기화하면 패키지가 있습니다.json
  • 웹팩을 실행하면 웹팩을 실행합니다.config.js
  • 웹팩을 실행하려면develop.config.js, 웹 패키지 - config 웹 패키지를 실행합니다.develop.config.js, 물론 패키지에서도 가능합니다.json에서 설정
  • {
      "name": "01webpack",
      "version": "1.0.0",
      "description": "",
      "main": "webpack.config.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
      //        npm run develop    webpack.develop.config.js  
        "develop": "webpack --config webpack.develop.config.js"
      },
      "keywords": [],
      "author": "",
      "license": "ISC",
      "devDependencies": {
        "babel-loader": "^7.1.0",
        "less": "^2.7.2",
        "less-loader": "^4.0.4",
        "node-sass": "^4.5.3",
        "sass-loader": "^6.0.6",
        "webpack": "^3.0.0",
        "webpack-dev-server": "^2.5.0"
      }
    }
    

    nodejs의 모듈화 개발 학습(main.js 의존calc.js 쓰기)
        1、 nodejs   .js          
        2、calc.js
            function add(x,y){return x + y;}
            module.exports = add;
    
        3、main.js  calc.js  add  
             calc.js  
            // webpack     
    var add = require('./calc.js');
    // console.log(add(2,3));
    //          dom  
    var v1obj = document.getElementById('v1');
    var v2obj = document.getElementById('v2');
    var btobj = document.getElementById('bt');
    var resobj = document.getElementById('res');
    btobj.onclick = function(){
        //         
        var v1Val = (v1obj.value - 0);
        var v2Val = (v2obj.value - 0);
    
        resobj.value = add(v1Val,v2Val);
    }   
    

    웹팩의 기본 사용 방식
  • 첫 번째 사용 방식: 웹 패키지 입구 파일.js의 경로 출력 파일입니다.js 경로
  •              .js       cmd ,   webpack     .js      .js 
    
    
  • 두 번째 사용 방식: 웹 패키지와 웹 패키지를 결합시킨다.config.js 프로필 패키지
  •       : cmd         webpack        ,
          :       webpack   ,webpack              webpack.config.js  
        
            :
        1、webpack.config.js                
        module.exports={
            entry:path.resolve(__dirname,'src/main.js'), ---main.js   
            output: {
                path: path.resolve(__dirname, 'dist'), ---     dist   ,   bundle.js
                filename: 'bundle.js',  
          },
    
        2、  webpack.config.js          cmd,  webpack      
    
    

    웹 패키지로 css 파일 패키지 완성하기
  • 웹팩을 이용하여 css 파일의 패키지 완성 주의점: 웹팩은 스타일-loader와 css-loader 두 nodejs의 패키지로 완성됩니다.css 파일의 패키지 작업 단계: 1. cnpm i style-loader css-loader가 로컬 패키지를 설치하는 style-loader와 css-loader는 다른 많은 패키지에 의존하기 때문에 일반적으로 이 프로젝트 파일을 다른 사람에게 보낼 때 node 를 삭제합니다modeuls 이 폴더의 경우 이 프로젝트에서 어떤 제3자 패키지에 의존하는지 모를 수 있습니다
              :
          node.exe       package.json              ,
               :
          1、              cnpm i     --save-dev
           --save-dev    package.json devDependencies  
          2、            cnpm i     --save
              --save    package.json dependencies  
    
               :
          1、   cnpm init       package.json  
          2、cnpm i style-loader css-loader  --save-dev
    
      2、 style-loader css-loader    webpack.config.js ,webpack       loader  
           webpack.config.js                (   webpack.config.js   )
    
  • 웹 패키지를 이용하여sass 파일 패키지 완성하기
      :
    1、cnpm install sass-loader node-sass --save-dev
    2、sass-loader  webpack.config.js      loader  
    
       : sass         sass-loader        .css  
                    style-loader css-loader 
          sass   ,
    style-loader!css-loade!sass-loader
    
    {
                test:/\.scss$/,   //                  
                loader:'style-loader!css-loader!sass-loader' //  sass     
    }
    

    웹 패키지를 이용하여less 파일 패키지 완성하기
      :
    1、cnpm install less-loader less  --save-dev
    2、less-loader  webpack.config.js      loader  
           :     loader:''    loader   , 
          style-loader!css-loade!less-loader   
    

    웹 패키지로 url () 가져오기 자원 파일 패키지 완료
        :
        background-image: url(../imgs/home.png)
          webpack     url-loader       , url-loader  file-loader,  
          :
        1、npm i url-loader file-loader --save-dev
        2、url-loader webpack.config.js      loader  
    

    웹팩을 이용하여es6회전es5 완성
          :
        1、npm install babel-core babel-loader babel-preset-es2015 babel-plugin-transform-runtime --save-dev
    
           :babel-plugin-transform-runtime               .vue       
    

    main.js 설정
    // webpack     
    //    main.js       dom  ,        
    var add = require('./calc.js');
    //   site.css   webpack   site.css  
    require('./1.css');
    require('./site1.scss');
    require('./site2.less');
    // console.log(add(2,3));
    //          dom  
    var v1obj = document.getElementById('v1');
    var v2obj = document.getElementById('v2');
    var btobj = document.getElementById('bt');
    var resobj = document.getElementById('res');
    
    btobj.onclick = function(){
        //         
        var v1Val = (v1obj.value - 0);
        var v2Val = (v2obj.value - 0);
    
        resobj.value = add(v1Val,v2Val);
    }
    

    webpack.config.js 설정
    var path = require('path');
    
    module.exports = {
        entry:path.resolve(__dirname,'src/main.js'),
        output: {
            path: path.resolve(__dirname, 'dist'),
            filename: 'bundle.js',
        },
      module:{
            loaders:[
                {
                    //          .js      es6 es5  ,node_moudels  
                    test:/\.js$/,   //                  
                    // loader:'babel-loader?presets[]=es2015', //      ,     .vue        ,     css-loader  .css  ,   style-loader  
                    loader:'babel-loader',
                    exclude:/node_modules/ , //node_modules    .js      ,      
                    
                },
                {
                    //   css  
                    test:/\.css$/,   //                  
                    loader:'style-loader!css-loader' //     css-loader  .css  ,   style-loader  
                },
                {
                    //    sass  
                    test:/\.scss$/,   //                  
                    loader:'style-loader!css-loader!sass-loader' //  sass     
                },
                {
                    //   less  
                    test:/\.less$/,   //                  
                    loader:'style-loader!css-loader!less-loader' //  sass     
                },
                {
                    //   url()       
                    test:/\.(png|jpg|gif|ttf)$/,   //   url        ,          url               
                    // loader:'url-loader'  //            base64       build.js ,        ,     build.js    ,            
                    loader:'url-loader?limit=40000' //         <40k     base64      build.js ,  >40k             ,       bulid.js 
                }
            ]
        },
        babel:{
             presets: ['es2015'],  
             plugins: ['transform-runtime']  //            .vue     
        }
    }
    
    

    좋은 웹페이지 즐겨찾기