我正在为一个网站授权团队城市构建配置(使用 VueJs 完成)。它使用yarn来构建网站,问题在于它用来捆绑最终资源的webpack。
因此,构建就像执行yarn run build
一样简单
该构建在本地运行良好。但是,在团队城市中,它在 css 加载程序 Web 包任务中失败并显示以下错误。
[15:13:08][Step 7/8] ERROR in ./~/css-loader!./~/vue-loader/lib/style-compiler?{"id":"data-v-45a5b6de","scoped":false,"hasInlineConfig":true}!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/App.vue
[15:13:08][Step 7/8] Module build failed: SyntaxError: Unexpected token {
[15:13:08][Step 7/8] at exports.runInThisContext (vm.js:53:16)
[15:13:08][Step 7/8] at Module._compile (module.js:373:25)
[15:13:08][Step 7/8] at Object.Module._extensions..js (module.js:416:10)
[15:13:08][Step 7/8] at Module.load (module.js:343:32)
[15:13:08][Step 7/8] at Function.Module._load (module.js:300:12)
[15:13:08][Step 7/8] at Module.require (module.js:353:17)
[15:13:08][Step 7/8] at require (internal/module.js:12:17)
[15:13:08][Step 7/8] at loadLoader (D:Program FilesBuildAgent3work140b0e3b148e7b10MainMyAppnode_modulesloader-runnerlibloadLoader.js:13:17)
[15:13:08][Step 7/8] at iteratePitchingLoaders (D:Program FilesBuildAgent3work140b0e3b148e7b10MainMyAppnode_modulesloader-runnerlibLoaderRunner.js:169:2)
[15:13:08][Step 7/8] at iteratePitchingLoaders (D:Program FilesBuildAgent3work140b0e3b148e7b10MainMyAppnode_modulesloader-runnerlibLoaderRunner.js:165:10)
[15:13:08][Step 7/8] at D:Program FilesBuildAgent3work140b0e3b148e7b10MainMyAppnode_modulesloader-runnerlibLoaderRunner.js:173:18
[15:13:08][Step 7/8] at loadLoader (D:Program FilesBuildAgent3work140b0e3b148e7b10MainMyAppnode_modulesloader-runnerlibloadLoader.js:36:3)
[15:13:08][Step 7/8] at iteratePitchingLoaders (D:Program FilesBuildAgent3work140b0e3b148e7b10MainMyAppnode_modulesloader-runnerlibLoaderRunner.js:169:2)
[15:13:08][Step 7/8] at runLoaders (D:Program FilesBuildAgent3work140b0e3b148e7b10MainMyAppnode_modulesloader-runnerlibLoaderRunner.js:362:2)
[15:13:08][Step 7/8] at NormalModule.doBuild (D:Program FilesBuildAgent3work140b0e3b148e7b10MainMyAppnode_moduleswebpacklibNormalModule.js:179:3)
[15:13:08][Step 7/8] at NormalModule.build (D:Program FilesBuildAgent3work140b0e3b148e7b10MainMyAppnode_moduleswebpacklibNormalModule.js:268:15)
[15:13:08][Step 7/8] @ ./~/extract-text-webpack-plugin/loader.js?{"omit":1,"remove":true}!./~/vue-style-loader!./~/css-loader!./~/vue-loader/lib/style-compiler?{"id":"data-v-45a5b6de","scoped":false,"hasInlineConfig":true}!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/App.vue 4:14-261
[15:13:08][Step 7/8] @ ./src/App.vue
[15:13:08][Step 7/8] @ ./src/main.js
我已经检查了一些事情,例如;
- 比较节点版本(服务器有节点 4.x,而客户端有 6.x)
- 比较 npm 版本(两者都有 3.10.x)
- 在本地和团队城市服务器中比较node_modules
- 检查 .babelrc 文件在团队城市中是否可用
- 检查服务器中的节点/npm 版本
- 在构建之前清理 npm 缓存并执行全新的 npm 安装
由于我们不拥有这个"代码",所以我很难进行任何代码更改。我们也没有使用VueJs或WebPack的经验。另一方面,它在本地工作。可能是节点版本吗?
任何想法或指示都非常感谢。
这最终成为 TeamCity 服务器中 Node 4 版本的限制。升级到节点 6 后,它开始正常工作。