2017-12-21 14 views
0

저는 webpack으로 마이그레이션하기로 결정한 bower 및 gulp로 작성된 angularjs 응용 프로그램을 사용했습니다. 모든 코드를 ES6으로 옮겼습니다. 문제가없는 dev webpack 구성에서 작동 시켰습니다. 소스 맵 포함, uglifying, 축소하지 않음 ...dist bundle을 생성하는 동안 Webpack 컴파일에 실패했습니다.

이제 해당 구성의 새 버전을 생성하고 싶습니다. 일반적인 생산 작업을 포함합니다. 전반적으로 두 번들을 생성 할 수 있기를 원합니다. 하나는 공급 업체 용이고 다른 하나는 응용 프로그램 코드 용입니다.

const pkg = require('../package.json'); 
// ... 
new ExtractTextPlugin('index-[contenthash].css'), 
    new webpack.optimize.CommonsChunkPlugin({name: 'vendor'}), 
    new webpack.LoaderOptionsPlugin({ 
     options: { 
     postcss:() => [autoprefixer] 
     } 
    }) 
    ], 
    output: { 
    path: path.join(process.cwd(), conf.paths.dist), 
    filename: '[name]-[hash].js' 
    }, 
    entry: { 
    app: `./${conf.path.src('index')}`, 
    vendor: Object.keys(pkg.dependencies) 
    } 

나는 새 공급 업체 항목 파일과 플러그인은 다음 컴파일 다음과 같은 오류와 함께 실패 일반적인 chunck에 대한 그 변화 할 때 :이 오류는 다음 몇 번하고 다른 하나를 기록됩니다

ERROR in multi angular angular-aria angular-bootstrap... // all package.json depedencies 
Module not found: Error: Can't resolve 'angular-consent' in 'path/to/my/project' 

를 :

ERROR in ./~/swagger-ui/dist/swagger-ui.js 
Module not found: Error: Can't resolve 'b' 
ERROR in ./~/modernizr/lib/options.js 
Module not found: Error: Can't resolve 'fs' 
// more of the same pattern 

무엇이 누락 되었습니까? 공급 업체 번들을 중단시키는 종속성이 있습니까?

버전 : 각 : 1.5.8, webpack : 2.7.0. OS : 각-동의 및 글꼴 최고 : 윈도우 10와 OSX 엘 캐피

답변

0

문제는 내 종속성 package.json에 선언 된 특정 패키지이었다. 그들이 포함될 필요가없는 이유는 여기에 잘 설명되어 있습니다. Error including font-awesome with webpack. 내 경우

:

const excludeDeps= ['angular-consent', 'font-awesome']; 

    entry: { 
    app: `./${conf.path.src('index')}`, 
    vendor: Object.keys(pkg.dependencies).filter(name => (excludeDeps.indexOf(name) === -1)) 
    }