با توجه به اینکه سیستم npm به راحتی بستههای font-end را پشتیبانی میکند ولی با این وجود چه نیازی به bower است؟
مطالب مشابه
- اشتراکها
استفاده از NPM برای ایجاد برنامههای ASP.NET Coreاشتراکها
انتشار Angularjs 1.4.0مطالب
شروع به کار با AngularJS 2.0 و TypeScript - قسمت اول - نصب پیشنیازهامطالب
Gulp #3مطالب
آشنایی با Bowerمطالب
Gulp #4مطالب
استفاده از bower در visual studioمطالب
ساخت Nuget Manager شخصیمطالب
کار با Visual Studio در ASP.NET Coreنظرات مطالب
روش استفادهی از jQuery در برنامههای AngularJS 2.0
#
۸ سال و ۳ ماه قبل، جمعه ۲۱ خرداد ۱۳۹۵، ساعت ۰۲:۳۱با توجه به این که در npm3 مشکل nested بودن وابستگیها برطرف شده است، شاید بتوان گفت خیلی نیازی به استفاده همزمان از هر دو نباشد. ولی مطلبی که گاهی اوقات مورد غفلت قرار میگیرد این است که در صفحات به طور مستقیم به بستههای مورد نظر، آدرسدهی میشود مانند<head> <link href="node_modules/normalize.css/normalize.css" rel="stylesheet" /> <link href="node_modules/font-awesome/css/font-awesome.min.css" rel="stylesheet" /> <link href="node_modules/froala-editor/css/froala_style.min.css" rel="stylesheet" /> <link href="node_modules/froala-editor/css/froala_editor.min.css" rel="stylesheet" /> <script src="node_modules/jquery/dist/jquery.min.js"></script> <script src="node_modules/froala-editor/js/froala_editor.min.js"></script> <script src="node_modules/froala-editor/js/languages/fa.js"></script> </head>
در صورتی با یک task ساده ( برای انتقال بستههای اصلی مورد نیاز به پوشه دلخواه به طور مثال پوشه wwwroot/lib ) میتوان مدیریت بهتری روی استفاده از این بستهها داشت:module.exports = function (grunt) { var developer = false; var config = { libPath: 'wwwroot/lib/', nodePath: 'node_modules/', getNodePackagePath: function (path) { return this.nodePath + path; }, getLibPath: function (path) { return this.libPath + path; } } grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), copy: { jquery: { files: [{ cwd: config.getNodePackagePath('jquery/dist/'), expand: true, src: 'jquery.min*', dest: config.getLibPath('jquery/'), }] }, font_awesome: { files: [ { cwd: config.getNodePackagePath('font-awesome/'), expand: true, src: ['css/*.min.css', 'fonts/*'], dest: config.getLibPath('font-awesome/'), filter: 'isFile' }, ] }, froala_editor: { files: [ { cwd: config.getNodePackagePath('froala-editor/'), expand: true, src: ['css/**/*.min.css', 'js/**', '!js/languages/*.js', 'js/languages/fa.js'], dest: config.getLibPath('froala-editor/') } ] }, normalizecss: { files: [ { cwd: config.getNodePackagePath('normalize.css/'), expand: true, src: 'normalize.css', dest: config.getLibPath('normalize.css/') } ] } }, clean: { lib: ['wwwroot/lib/'] }, }); grunt.loadNpmTasks("grunt-contrib-clean"); grunt.loadNpmTasks("grunt-contrib-copy"); grunt.registerTask("default", ['clean', 'copy']); };
<head> <link href="wwwroot/lib/normalize.css/normalize.css" rel="stylesheet" /> <link href="wwwroot/lib/font-awesome/css/font-awesome.min.css" rel="stylesheet" /> <link href="wwwroot/lib/froala-editor/css/froala_style.min.css" rel="stylesheet" /> <link href="wwwroot/lib/froala-editor/css/froala_editor.min.css" rel="stylesheet" /> <script src="wwwroot/lib/jquery/jquery.min.js"></script> <script src="wwwroot/lib/froala-editor/js/froala_editor.min.js"></script> <script src="wwwroot/lib/froala-editor/js/languages/fa.js"></script> </head>
و از node_modules فقط به عنوان مخزن بستهها استفاده شود، بخصوص زمانی که بستههایی مانند grunt هم به صورت local نصب شوند که یک node_modules بلند بالا و سنگین خواهید داشت.