- 我使用 angular cli 构建项目 . 项目已运行,但错误将显示在控制台中 .
我点击VM223然后看
我想我忘了连接一些图书馆或类似的东西 . 我怎么解决这个问题?有人可以体验这个吗?
package.json
"dependencies": {
"@angular/common": "^2.3.1",
"@angular/compiler": "^2.3.1",
"@angular/core": "^2.3.1",
"@angular/forms": "^2.3.1",
"@angular/http": "^2.3.1",
"@angular/platform-browser": "^2.3.1",
"@angular/platform-browser-dynamic": "^2.3.1",
"@angular/router": "^3.3.1",
"@types/gapi": "0.0.30",
"@types/gapi.auth2": "0.0.34",
"bootstrap": "^3.3.7",
"core-js": "^2.4.1",
"es6-promise": "^3.0.2",
"es6-shim": "^0.33.3",
"jquery": "^3.1.1",
"ng2-facebook-sdk": "^1.2.0",
"reflect-metadata": "^0.1.8",
"rxjs": "^5.0.1",
"ts-helpers": "^1.1.1",
"zone.js": "^0.7.2"
},
"devDependencies": {
"@types/core-js": "^0.9.35",
"@angular/compiler-cli": "^2.3.1",
"@types/jasmine": "2.5.38",
"@types/node": "^6.0.42",
"@types/jquery": "^2.0.40",
"angular-cli": "1.0.0-beta.28.3",
"codelyzer": "~2.0.0-beta.1",
"jasmine-core": "2.5.2",
"jasmine-spec-reporter": "2.5.0",
"karma": "1.2.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-jasmine": "^1.0.2",
"karma-remap-istanbul": "^0.2.1",
"protractor": "~4.0.13",
"ts-node": "1.2.1",
"tslint": "^4.3.0",
"typescript": "~2.0.3"
}
angular-cli
"apps": [
{
"root": "src",
"outDir": "dist",
"assets": [
"assets",
"favicon.ico"
],
"index": "index.html",
"main": "main.ts",
"polyfills": "polyfills.ts",
"test": "test.ts",
"tsconfig": "tsconfig.json",
"prefix": "app",
"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"styles.css"
],
"scripts": [
"../node_modules/jquery/dist/jquery.min.js",
"../node_modules/ng2-facebook-sdk/dist/ng2-facebook-sdk.js"
],
"environments": {
"source": "environments/environment.ts",
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
}
]
polyfills.ts
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/set';
import 'core-js/es6/reflect';
import 'core-js/es6/promise';
import 'core-js/es7/reflect';
import 'core-js/client/shim.min';
import 'zone.js/dist/zone';
index.html
<!DOCTYPE html>
<html>
<head>
<base href="/">
<title>Test</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon">
<script src="https://connect.facebook.net/en_US/sdk.js"></script>
<script src="https://apis.google.com/js/platform.js" async defer></script>
</head>
<body>
<div class="wrapper">
<main>
<my-app>Loading...</my-app>
</main>
</div>
</body>
</html>
- 当我使用 ng build -prod 时,我得到文件夹dist,其中包含应用程序所需的样式,图像,字体和其他资源 . 但我认为必须有index.html和bundle文件没有图像,字体等 .
建成之后我有:
也许我做错了什么?
问候
2 回答
首先删除节点模块:
并使你的pacage.json像这样:
然后再次运行命令npm install,希望这对你有帮助 .
您可能需要安装“require”软件包 .
应该做的伎俩 .
编辑:构建--prod是一个正常输出,它为您提供所需的所有静态文件并捆绑css和javascript .
EDIT2:您的浏览器出现了错误? “Require”是一个Node.JS包,它是Server Sided Scripting,这意味着它可以在您的浏览器中使用 .
看看这个:http://requirejs.org/对于客户端 .
EDIT3:
创建一个Server.js文件,将上面的代码放入其中,在构建它之后将其放入dist中,然后运行以下命令
您可能需要安装express和serve-static,以便检查它是否有效,将它们全部安装,以后可以随时删除它们并在以后安装它们: