Ng-Lightning ParseError' import'和'出口'可能只出现在' sourceType:module'

时间:2017-05-08 16:01:53

标签: angular ng-lightning

我在Angular 4应用程序中使用ng-lightning组件。我正在尝试构建一个bundle以部署到Tomcat服务器。我收到以下错误。通过谷歌搜索似乎ng-lightning可能是ES6,我需要将其归结为ES5。我在package.json文件中尝试了以下脚本,但仍然遇到同样的错误。

C:\ MyApp的\ node_modules \纳克雷击\ NG-lightning.js:1 从' @ angular / core'中导入{NgModule}; ^ ParseError:' import'和'出口'可能仅与' sourceType:module'

一起出现
"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-lightning设置不同的预设?我没有使用Webpack。我试过了,但是我遇到了一些不同的错误,我还没有完全学会如何使用Webpack。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

问题是ng-lightning是一个es6包,我需要使用带有es2015预设的“babelify”。我还需要稍微编辑脚本。我必须编辑的最后一项是ng-lightning的package.json文件。我需要在该文件中包含“browserify”转换以允许它成功捆绑。这次编辑是我之前失踪的关键部分。

ng-lightning package.json:

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

app package.json“scripts”:

"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"

app package.json“devDependencies”:

"babel-preset-es2015": "^6.24.1",
"babelify": "^7.3.0",
"browserify": "^14.4.0",
"rimraf": "^2.6.1",