Jquery not working in angular 6 Error: ENOENT: no such file or directory, open '...\node_modules\jquery\dist\jquery.min.js'
Jquery not working in angular 6 Error: ENOENT: no such file or directory, open '...\node_modules\jquery\dist\jquery.min.js'
我正在将 Angular 5 项目迁移到 Angular 6.
开始申请时
npm start
出现以下错误
** Angular Live Development Server is listening on localhost: 9000,
open your browser on http://localhost:9000/ **
91% additional asset processing scripts-webpack-plugin× 「wdm」:
Error: ENOENT: no such file or directory,open'\trunk\node_modules\jquery\dist\jquery.min.js'
我试过了
npm install jquery --save
npm install @types/jquery --save
没有任何效果
我检查了我的节点模块文件夹我可以看到 jquery 文件
在下面粘贴了我的 package.json 和 angular.json
package.json
"dependencies": {
"@angular/animations": "^6.0.0",
"@angular/common": "^6.0.0",
"@angular/compiler": "^6.0.0",
"@angular/core": "^6.0.0",
"@angular/forms": "^6.0.0",
"@angular/http": "^6.0.0",
"@angular/platform-browser": "^6.0.0",
"@angular/platform-browser-dynamic": "^6.0.0",
"@angular/router": "^6.0.0",
"@ng-bootstrap/ng-bootstrap": "^2.0.0",
"bootstrap": "^4.1.1",
"core-js": "^2.5.4",
"font-awesome": "^4.7.0",
"jquery": "^3.3.1",
"@types/jquery": "^3.3.1",
"popper.js": "^1.14.3",
"rxjs": "^6.0.0",
"zone.js": "^0.8.26"
},
"devDependencies": {
"@angular/compiler-cli": "^6.0.0",
"@angular-devkit/build-angular": "~0.6.0",
"typescript": "~2.7.2",
"@angular/cli": "~6.0.0",
"@angular/language-service": "^6.0.0",
"@types/jasmine": "~2.8.6",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "~4.2.1",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~1.7.1",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~1.4.2",
"karma-jasmine": "~1.1.1",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.3.0",
"ts-node": "~5.0.1",
"tslint": "~5.9.1"
}
angular.json
"styles": [
"src/styles.css",
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"./assets/css/font-icon.css",
"../node_modules/font-awesome/css/font-awesome.css"
],
"scripts": [
"../node_modules/jquery/dist/jquery.min.js",
"../node_modules/popper.js/dist/umd/popper.min.js",
"../node_modules/bootstrap/dist/js/bootstrap.min.js"
]
请帮我解决这个问题。
在你的文件 'tsconfig.json' 中,你可能
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
},
"include": ["node_modules/angular-bootstrap-md/**/*.ts", "src/**/*.ts"],
}
你可以替换
"include": ["node_modules/angular-bootstrap-md/**/*.ts", "src/**/*.ts"],
到
"include": ["src/**/*.ts","node_modules/angular-bootstrap-md/**/*.ts" ],
此外,在你的文件'angular.json'中,我删除了"styles"和"scripts"中node_modules前面的'../'。
并且我在 "test"
类别的 "scripts" 中复制了 "scripts" 的行
"test": {
...
"styles": [
"src/styles.css"
"node_modules/bootstrap/dist/css/bootstrap.min.css",
"./assets/css/font-icon.css",
"node_modules/font-awesome/css/font-awesome.css"
],
"scripts": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/popper.js/dist/umd/popper.min.js",
"node_modules/bootstrap/dist/js/bootstrap.min.js"
],
...
angular 团队又一次无缘无故地让事情变得更难 =(
我遇到了这个问题,在谷歌搜索无果后,我想知道他们是否以某种方式改变了相对路径以及重命名 angular-cli.json.
我在文件的更上方找到了以下行:
是的,只是改变:
"../node_modules/jquery/dist/jquery.js",
"../node_modules/tether/dist/js/tether.js",
"../node_modules/bootstrap/dist/js/bootstrap.js"
到
"./node_modules/jquery/dist/jquery.js",
"./node_modules/tether/dist/js/tether.js",
"./node_modules/bootstrap/dist/js/bootstrap.js"
用这个 npm install --save @ng-bootstrap/ng-bootstrap
安装 @ngBootstrap
和 npm install jquery --save
或
npm install @types/jquery --save
安装后转到 angular.json
并找到
的位置
"styles": [
{
"input": "styles.css"
}
],
"scripts": []
并将其更改为:
"styles": [
"styles.css",
"./node_modules/bootstrap/dist/css/bootstrap.min.css"
],
"scripts": [
"./node_modules/jquery/dist/jquery.min.js",
"./node_modules/bootstrap/dist/js/bootstrap.min.js"
]
和ng server --open
到运行你的项目
在Angular 6 你不需要写:
"../node_modules/jquery/dist/jquery.js",
"../node_modules/tether/dist/js/tether.js",
"../node_modules/bootstrap/dist/js/bootstrap.js"
你可以用 ./
写在上面,这也可以,但是 angular.json
文件中最简单的方法:
"node_modules/jquery/dist/jquery.js",
"node_modules/tether/dist/js/tether.js",
"node_modules/bootstrap/dist/js/bootstrap.js"
在我看来它更好更清晰
对于Angular6路径如下:
来自:
"../node_modules/jquery/dist/jquery.js",
"../node_modules/tether/dist/js/tether.js",
"../node_modules/bootstrap/dist/js/bootstrap.js"
至
"./node_modules/jquery/dist/jquery.js",
"./node_modules/tether/dist/js/tether.js",
"./node_modules/bootstrap/dist/js/bootstrap.js"
相对路径../
用于返回一个目录。所以,首先检查文件路径,如果它不包含你的项目根文件夹,你正在搜索那个 jquery 文件在其他地方甚至不存在。
如果 node_modules 文件和 angular.json 都在同一目录中,则不需要使用相对路径。
在Angular6中,你不需要使用相对路径从angular.json(../
进入node_modules甚至喜欢 ./
).
我遇到了类似的问题...
Jquery
插件没有 npm package
就绪 : (
所以我决定把它放在assets文件夹里...
显然那是行不通的。
所以我做了一些测试...
以下是对我有用的方法:
导航到 node_modules/jquery/dist/
— 只需将插件文件插入即可。
完成后更改您的 angular.json 文件
来自:
"scripts": [
"node_modules/jquery/dist/jquery.min.js",
“../assets/libraries/okshadow.min.js”
]
收件人:
"scripts": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/jquery/dist/okshadow.min.js"
]
准备就绪!
P.S。这是 Angular 7.0
而不是 Angular 6
"node_modules/bootstrap/dist/css/bootstrap.min.css"
不是
"../node_modules/bootstrap/dist/css/bootstrap.min.css"
我们不使用相对路径。
angular-cli.json 中的路径是相对于项目根目录(通常是 src/)。例如,您有 src/styles.css 文件,但在 angular-cli.json 中它仅列为 styles.css.
我遇到了同样的问题。
看来安装不会更新 package.json 文件,除非 "npm install" 命令中包含“--save”。
换句话说,软件包应该安装
npm install --save bootstrap
npm install --save jquery
npm install --save popper.js
修复错误
An unhandled exception occurred: Script file node_modules/jquery/dist/jquery.min.js does not exist.
尝试安装:
npm install jquery --save
npm install popper.js --save
npm install bootstrap --save
希望这能奏效
您可能在创建应用程序时忘记了 运行“npm install -g @angular/cli”命令。
已通过删除 ../
和 ./
解决
"styles": [
"node_modules/bootstrap/dist/css/bootstrap.min.css",
],
"scripts": [
"node_modules/bootstrap/dist/js/bootstrap.min.js",
"node_modules/jquery/dist/jquery.js"
]
在 Angular 12 中,我没有前面的点和斜线,但为了解决这个错误,我不得不添加它们。
所以我改变了
node_modules/jquery/dist/jquery.js
至
./node_modules/jquery/dist/jquery.js
在 angular.json 文件中
我正在将 Angular 5 项目迁移到 Angular 6.
开始申请时npm start
出现以下错误
** Angular Live Development Server is listening on localhost: 9000,
open your browser on http://localhost:9000/ **
91% additional asset processing scripts-webpack-plugin× 「wdm」:
Error: ENOENT: no such file or directory,open'\trunk\node_modules\jquery\dist\jquery.min.js'
我试过了
npm install jquery --save
npm install @types/jquery --save
没有任何效果
我检查了我的节点模块文件夹我可以看到 jquery 文件
在下面粘贴了我的 package.json 和 angular.json
package.json
"dependencies": {
"@angular/animations": "^6.0.0",
"@angular/common": "^6.0.0",
"@angular/compiler": "^6.0.0",
"@angular/core": "^6.0.0",
"@angular/forms": "^6.0.0",
"@angular/http": "^6.0.0",
"@angular/platform-browser": "^6.0.0",
"@angular/platform-browser-dynamic": "^6.0.0",
"@angular/router": "^6.0.0",
"@ng-bootstrap/ng-bootstrap": "^2.0.0",
"bootstrap": "^4.1.1",
"core-js": "^2.5.4",
"font-awesome": "^4.7.0",
"jquery": "^3.3.1",
"@types/jquery": "^3.3.1",
"popper.js": "^1.14.3",
"rxjs": "^6.0.0",
"zone.js": "^0.8.26"
},
"devDependencies": {
"@angular/compiler-cli": "^6.0.0",
"@angular-devkit/build-angular": "~0.6.0",
"typescript": "~2.7.2",
"@angular/cli": "~6.0.0",
"@angular/language-service": "^6.0.0",
"@types/jasmine": "~2.8.6",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "~4.2.1",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~1.7.1",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~1.4.2",
"karma-jasmine": "~1.1.1",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.3.0",
"ts-node": "~5.0.1",
"tslint": "~5.9.1"
}
angular.json
"styles": [
"src/styles.css",
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"./assets/css/font-icon.css",
"../node_modules/font-awesome/css/font-awesome.css"
],
"scripts": [
"../node_modules/jquery/dist/jquery.min.js",
"../node_modules/popper.js/dist/umd/popper.min.js",
"../node_modules/bootstrap/dist/js/bootstrap.min.js"
]
请帮我解决这个问题。
在你的文件 'tsconfig.json' 中,你可能
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
},
"include": ["node_modules/angular-bootstrap-md/**/*.ts", "src/**/*.ts"],
}
你可以替换
"include": ["node_modules/angular-bootstrap-md/**/*.ts", "src/**/*.ts"],
到
"include": ["src/**/*.ts","node_modules/angular-bootstrap-md/**/*.ts" ],
此外,在你的文件'angular.json'中,我删除了"styles"和"scripts"中node_modules前面的'../'。
并且我在 "test"
类别的 "scripts" 中复制了 "scripts" 的行"test": {
...
"styles": [
"src/styles.css"
"node_modules/bootstrap/dist/css/bootstrap.min.css",
"./assets/css/font-icon.css",
"node_modules/font-awesome/css/font-awesome.css"
],
"scripts": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/popper.js/dist/umd/popper.min.js",
"node_modules/bootstrap/dist/js/bootstrap.min.js"
],
...
angular 团队又一次无缘无故地让事情变得更难 =(
我遇到了这个问题,在谷歌搜索无果后,我想知道他们是否以某种方式改变了相对路径以及重命名 angular-cli.json.
我在文件的更上方找到了以下行:
是的,只是改变:
"../node_modules/jquery/dist/jquery.js",
"../node_modules/tether/dist/js/tether.js",
"../node_modules/bootstrap/dist/js/bootstrap.js"
到
"./node_modules/jquery/dist/jquery.js",
"./node_modules/tether/dist/js/tether.js",
"./node_modules/bootstrap/dist/js/bootstrap.js"
用这个 npm install --save @ng-bootstrap/ng-bootstrap
安装 @ngBootstrap
和 npm install jquery --save
或
npm install @types/jquery --save
安装后转到 angular.json
并找到
"styles": [
{
"input": "styles.css"
}
],
"scripts": []
并将其更改为:
"styles": [
"styles.css",
"./node_modules/bootstrap/dist/css/bootstrap.min.css"
],
"scripts": [
"./node_modules/jquery/dist/jquery.min.js",
"./node_modules/bootstrap/dist/js/bootstrap.min.js"
]
和ng server --open
到运行你的项目
在Angular 6 你不需要写:
"../node_modules/jquery/dist/jquery.js",
"../node_modules/tether/dist/js/tether.js",
"../node_modules/bootstrap/dist/js/bootstrap.js"
你可以用 ./
写在上面,这也可以,但是 angular.json
文件中最简单的方法:
"node_modules/jquery/dist/jquery.js",
"node_modules/tether/dist/js/tether.js",
"node_modules/bootstrap/dist/js/bootstrap.js"
在我看来它更好更清晰
对于Angular6路径如下:
来自:
"../node_modules/jquery/dist/jquery.js",
"../node_modules/tether/dist/js/tether.js",
"../node_modules/bootstrap/dist/js/bootstrap.js"
至
"./node_modules/jquery/dist/jquery.js",
"./node_modules/tether/dist/js/tether.js",
"./node_modules/bootstrap/dist/js/bootstrap.js"
相对路径../
用于返回一个目录。所以,首先检查文件路径,如果它不包含你的项目根文件夹,你正在搜索那个 jquery 文件在其他地方甚至不存在。
如果 node_modules 文件和 angular.json 都在同一目录中,则不需要使用相对路径。
在Angular6中,你不需要使用相对路径从angular.json(../
进入node_modules甚至喜欢 ./
).
我遇到了类似的问题...
Jquery
插件没有 npm package
就绪 : (
所以我决定把它放在assets文件夹里...
显然那是行不通的。
所以我做了一些测试...
以下是对我有用的方法:
导航到
node_modules/jquery/dist/
— 只需将插件文件插入即可。
完成后更改您的 angular.json 文件
来自:"scripts": [ "node_modules/jquery/dist/jquery.min.js", “../assets/libraries/okshadow.min.js” ]
收件人:
"scripts": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/jquery/dist/okshadow.min.js"
]
准备就绪!
P.S。这是 Angular 7.0
而不是 Angular 6
"node_modules/bootstrap/dist/css/bootstrap.min.css" 不是 "../node_modules/bootstrap/dist/css/bootstrap.min.css"
我们不使用相对路径。
angular-cli.json 中的路径是相对于项目根目录(通常是 src/)。例如,您有 src/styles.css 文件,但在 angular-cli.json 中它仅列为 styles.css.
我遇到了同样的问题。 看来安装不会更新 package.json 文件,除非 "npm install" 命令中包含“--save”。
换句话说,软件包应该安装
npm install --save bootstrap
npm install --save jquery
npm install --save popper.js
修复错误
An unhandled exception occurred: Script file node_modules/jquery/dist/jquery.min.js does not exist.
尝试安装:
npm install jquery --save
npm install popper.js --save
npm install bootstrap --save
希望这能奏效
您可能在创建应用程序时忘记了 运行“npm install -g @angular/cli”命令。
已通过删除 ../
和 ./
"styles": [
"node_modules/bootstrap/dist/css/bootstrap.min.css",
],
"scripts": [
"node_modules/bootstrap/dist/js/bootstrap.min.js",
"node_modules/jquery/dist/jquery.js"
]
在 Angular 12 中,我没有前面的点和斜线,但为了解决这个错误,我不得不添加它们。
所以我改变了
node_modules/jquery/dist/jquery.js
至
./node_modules/jquery/dist/jquery.js
在 angular.json 文件中