2017-03-19 1 views
0

webpack으로 각도 js 프로젝트를 설정했습니다. 개발 모드로 실행하려고 시도 할 때마다 오류 이하로 표시됩니다.Webpack Dev Server : 알 수없는 인수 : NODE_ENV

"알 수없는 인수 : NODE_ENV".

다음은 내 package.json입니다. 나는 이미 webpack-dev-server의 최신 버전을 사용하고있다. 여기에 무엇이 잘못되었는지 알려주세요.

Package.json :

{ 
"name": "My project", 
"version": "0.0.1", 
"description": "", 
"main": "/", 
"author": "", 
"license": "MIT", 
"scripts": { 
"start": "webpack-dev-server --config webpack/webpack.dev.js --watch --NODE_ENV=dev", 
"test": "karma start --NODE_ENV=test", 
"build": "webpack --config webpack/webpack.build.js --NODE_ENV=production" 
}, 
"dependencies": { 
"angular": "1.6.3", 
"angular-datepicker": "^1.0.5", 
"angular-file-upload": "^2.2.0", 
"angular-flash-alert": "^2.2.4", 
"angular-messages": "^1.5.0", 
"angular-repository": "^0.1.8", 
"angular-resource": "^1.5.0", 
"angular-sanitize": "^1.5.5", 
"angular-symfony-acl": "^1.0.9", 
"angular-symfony-form": "^3.0.0", 
"angular-translate": "^2.11.0", 
"angular-ui-bootstrap": "^1.3.2", 
"angular-ui-router": "^0.2.18", 
"angular-voauth2": "^0.1.16", 
"angular-youtube-embed": "^1.2.0", 
"angularjs-datepicker": "^2.1.3", 
"bootstrap": "^3.3.6", 
"bootstrap-sass": "3.3.6", 
"dotenv": "^4.0.0", 
"font-awesome": "4.5.0", 
"jquery": "2.2.0", 
"lodash": "^4.0.1", 
"moment": "^2.12.0", 
"ng-file-upload": "^12.0.4", 
"ng-infinite-scroll": "^1.2.1", 
"postcss-loader": "^0.9.1", 
"ui-select": "^0.19.4" 
}, 
"devDependencies": { 
"angular-mocks": "1.5.0-rc.2", 
"angular-module-mocks": "1.2.19", 
"babel-core": "^6.4.5", 
"babel-istanbul": "0.6.0", 
"babel-loader": "^6.2.4", 
"babel-preset-es2015": "^6.3.13", 
"compression-webpack-plugin": "0.3.0", 
"connect-history-api-fallback": "^1.2.0", 
"css-loader": "^0.18.0", 
"file-loader": "0.8.5", 
"html-webpack-plugin": "2.7.2", 
"webpack-dev-server": "2.4.2", 
"istanbul": "0.4.2", 
"istanbul-instrumenter-loader": "0.1.3", 
"jasmine": "2.4.1", 
"karma": "0.13.19", 
"karma-coverage": "0.5.3", 
"karma-jasmine": "0.3.6", 
"karma-phantomjs-launcher": "1.0.0", 
"karma-sourcemap-loader": "0.3.7", 
"karma-spec-reporter": "0.0.23", 
"karma-typescript-preprocessor": "0.0.21", 
"karma-webpack": "1.7.0", 
"lodash": "4.0.1", 
"node-sass": "3.4.2", 
"phantomjs-polyfill": "0.0.1", 
"phantomjs-prebuilt": "2.1.3", 
"raw-loader": "0.5.1", 
"sass-loader": "3.1.2", 
"style-loader": "0.13.0", 
"url-loader": "0.5.7", 
"webpack": "1.12.12" 
} 
} 

webpack.dev.js :

var loaders = require("./loaders"); 
var webpack = require('webpack'); 
var HtmlWebpackPlugin = require('html-webpack-plugin'); 

module.exports = { 
    entry: { 
     build: './src/app.js', 
     vendors: ['angular', 'bootstrap', 'angular-ui-router', 'ng-file-upload'] 
    }, 
    output: { 
     filename: '[name].min.js', 
     path: 'dist' 
    }, 
    resolve: { 
     root: __dirname, 
     extensions: ['', '.js', '.json'] 
    }, 
    resolveLoader: { 
     modulesDirectories: ["node_modules"] 
    }, 
    devtool: "source-map", 
    devServer: { 
     port: 8080, 
     historyApiFallback: true 
    }, 
    plugins: [ 
     new HtmlWebpackPlugin({ 
      template: './src/index.html', 
      inject: 'body', 
      hash: true 
     }), 
     new webpack.ProvidePlugin({ 
      moment: 'moment', 
      $: 'jquery', 
      jQuery: 'jquery', 
      'window.jQuery': 'jquery', 
      'window.jquery': 'jquery' 
     }) 
    ], 
    module:{ 
     loaders: loaders 
    } 
}; 
+0

webpack.config/angular-cli.json을 제공해 주셔서 감사합니다. –

+0

@ EmreÖztürk - 감사합니다. webpack.dev.js 파일도 추가했습니다. –

+0

그래서'webpack-dev-server' 호출에서'- NODE_ENV'는 무엇입니까? https://webpack.github.io/docs/webpack-dev-server.html#webpack-dev-server-cli – zerkms

답변

0

. 그렇다면 그것은 나를 위해 일했습니다. 내 package.json은 이제 다음과 같습니다.

"scripts": { 
    "start": "NODE_ENV=dev webpack-dev-server --config ./webpack/webpack.dev.js --", 
    "test": "karma start --NODE_ENV=test", 
    "build": "webpack --config webpack/webpack.build.js --NODE_ENV=production" 
}, 

감사합니다.

2

당신은 당신의 wepack 구성에 NODE_ENV를 정의 할 필요가있다. 이 작업을해야합니다 : @Emre가 제공 한 것뿐만 아니라, 내가 DEV 모드에서 응용 프로그램을 실행하는 데 package.json에 NPM 시작 명령을 변경했다

plugins: [ 
    new webpack.DefinePlugin({ 
     "process.env": { 
     NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'production') // default value if not specified 
     } 
    }) 
+0

도움이되었지만 추가 변경 작업도 수행해야했습니다. 이 문제를 조사해 주셔서 감사합니다. +1 –

+0

당신은 환영합니다 :) –

관련 문제