我已经从github克隆了一个项目并试图在本地运行它,似乎 . angular-cli.json文件需要更新,我已经浏览了一些关于如何执行此操作的教程,但遇到了此错误。
ng update @angular/cli --migrate-only --from=1.7.4 更新 karma 配置 更新配置 删除旧配置文件 (.angular-cli.json) 写入配置文件 (angular.json) 无效的 JSON 字符:"" at 0:0。
太棒了,Angular发布了版本6,CLI提供了生成库的选项-他们称其为“备受期待的功能”。
现在,从业务角度来看,我想知道:
所以我明白了,在npmjs上发布了一些东西,希望整个世界以及未来的连接事物都需要它。图书馆,太好了。
在更大的公司的大型系统中,我们可以重用库,但是我们已经能够使用模块重用东西。我需要分别构建库并在每次更改内容时重新编译。
使用库而不是模块的原因是什么?
(现在我想说,一个lib可以比模块更大,所以我只是用它来组织我的应用程序更好)
我想在我的项目中使用jquery和。该项目是在目录中,并且文件在路径。我正在尝试按如下方式引用和文件,但是在目录中运行时,出现错误 - 。我究竟做错了什么?bootstrapAngular-CLIAngular-CLIproject/uijquerybootstrapproject/public/...jquerybootstrapangular.jsonng serveproject/uiThe ./../public/images/favicon.png asset path must start with the project source root
的片段angular.json是
"projects": {
"ui": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist",
"index": "src/index.html",
"main": "src/main.ts",
"tsConfig": "src/tsconfig.app.json",
"polyfills": "src/polyfills.ts",
"assets": [
"src/assets",
"./../public/images/favicon.png"
],
"styles": [
"src/styles.css",
"./../public/stylesheets/common/css-reset.css",
"./../public/stylesheets/common/common-styles.css",
"./../public/stylesheets/common/vendor/bootstrap/bootstrap.css"
],
"scripts": [
"./../public/javascripts/common/vendor/jquery/jquery-3.2.1.js",
"./../public/javascripts/common/vendor/bootstrap/bootstrap.js"
]
},
Run Code Online (Sandbox Code Playgroud) 我使用 angular CLI (v6.1.4) 通过运行在我的 components 文件夹中生成了一个组件,ng g c components/foo然后运行ng test. 新组件的测试失败并出现以下错误:
async() 测试助手需要区域但找不到。请确保您的环境包括 zone.js/dist/zone.js 抛出
错误:非法状态:无法加载指令 FooComponent 的摘要。
奇怪的是,如果我运行ng g c foo(即它不在 components 文件夹中生成),则测试通过。我的测试都适用于其他文件夹,但这是我的 components 文件夹中的第一个测试(也是一个组件的第一个测试)。其他测试都不是异步的。
我是新手,ng test所以我可能会遗漏一些非常明显的东西。我没想到需要设置任何东西zone.js来运行默认测试。我应该在哪里配置它?还是我在这里遗漏了其他东西,也许是我的components文件夹特有的东西?
C:\dev\myApp> ng serve -o
Your global Angular CLI version (6.0.8) is greater than your local version (1.0.2).
The local Angular CLI version is used.
To disable this warning use `"ng config -g cli.warnings.versionMismatch false"`
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么办。
我尝试卸载angular / cli和npm cache clean, 但是仍然有问题。
有人帮我!
我构建了一个 Angular 6 应用程序,其中包含一个包含将来应重用的组件的库和一个应用程序。我使用 Angular cli 创建了所有内容,所以我有默认的结构
my-app
|
+-projects
| |
| +-my-lib
| |
| +-src
| +-package.json
|
+-src
+-package.json
Run Code Online (Sandbox Code Playgroud)
为了构建项目,我首先使用构建库ng build my-lib --prod,然后使用 构建应用程序ng build --prod。之后 dist 目录看起来像这样
dist
|
+-my-app
+-my-lib
Run Code Online (Sandbox Code Playgroud)
我现在的问题是如何将其部署到我的服务器,以便应用程序可以访问该库。在本地一切正常,所以我应该像往常一样将整个dist目录传输到我的服务器吗?或者我应该将库发布到 npm 并将其添加为我的package.json. 如果是,我如何设置它才能不干扰本地开发,我想在 dist 目录中构建库?
当我尝试使用 Angular CLI 创建新项目时ng new project-name,出现以下错误:
npm ERR! Unexpected end of JSON input while parsing near '...+EuGeFfIM3zMCaRLePh7u'
Run Code Online (Sandbox Code Playgroud)
错误截图:
我能做些什么来解决这个错误?
我正在使用最新的Angular CLI 版本 (v6)。我在项目文件夹内的相同代码中有多个应用程序。
我想使用命令行在这些项目中生成模块和组件。
npm 错误!在 '...":{"shasum":"ae6c2edf' 附近解析时 JSON 输入意外结束,在 npm 安装时收到此错误。
我已经完成的步骤 1. 创建一个新项目 2. 完成 npm install
所有新项目都会出现此错误。