2017-05-08 101 views
0

我在我的Angular 4應用程序中使用ng-lightning組件。我正在嘗試構建一個包以部署到Tomcat服務器。我收到下面的錯誤。通過谷歌搜索,似乎ng-lightning可能是ES6,我需要將它美化成ES5。我嘗試了我的package.json文件中的以下腳本,但仍然收到相同的錯誤。Ng-Lightning ParseError'導入'和'導出'可能只與'sourceType:module'一起出現

C:\ myapp \ node_modules \ ng-lightning \ ng-lightning.js:1 從'@ angular/core'導入{NgModule}; ^ ParseError:「進口」和「出口」可能會出現只與「sourceType的:模塊」

"clean": "rmdir /S /Q dist", 
"newbuild": "npm run clean && tsc -p src/ --outDir dist", 
"build_prod": "npm run newbuild && browserify -s main src/main.js > dist/bundle.js -t [ babelify --presets [ es2015 react ] ] && npm run minify", 
"minify": "uglifyjs dist/bundle.js --screw-ie8 --compress --mangle --output dist/bundle.min.js", 

我需要爲NG雷擊不同的預設?我沒有爲此使用Webpack。我嘗試過,但我得到了一組不同的錯誤,但我還沒有完全學會如何使用Webpack。謝謝您的幫助。

回答

0

問題是ng-lightning是es6包,我需要在es2015預設中使用「babelify」。我還需要編輯腳本。我不得不編輯的最後一個項目是ng-lightning的package.json文件。我需要在該文件中包含一個「browserify」轉換以允許它成功捆綁。這個編輯是我之前缺少的關鍵部分。

NG雷擊的package.json:

"browserify": { 
    "transform": [["babelify", { "presets": ["es2015"] }]] 
}, 

應用的package.json 「腳本」:

"clean": "rimraf dist", 
"newbuild": "npm run clean && tsc -p src/", 
"build_prod": "npm run newbuild && mkdir dist && browserify -s main -e src/main.js -t [ babelify --presets [ es2015 ] ] -o dist/app-bundle.js && npm run minify", 
"minify": "uglifyjs dist/app-bundle.js --screw-ie8 --compress --mangle --output dist/app-bundle.min.js" 

應用的package.json 「devDependencies」:

"babel-preset-es2015": "^6.24.1", 
"babelify": "^7.3.0", 
"browserify": "^14.4.0", 
"rimraf": "^2.6.1", 
相關問題