عدد أقل من Windows Node.js معلق
سؤال
لقد كنت أحاول إعداد Symfony2 على نظام التشغيل Windows حتى أتمكن من استخدام الأصول بتكلفة أقل.
لقد قمت بتثبيت Node.js لنظام التشغيل Windows (0.6.8).ثم لقد ركضت npm install less --global
ووجدت أقل في C:\Users\Matt\AppData\Roaming\npm\node_modules
بقدر ما يتعلق الأمر بإعداد Symfony الخاص بي، لدي الفرع الرئيسي لـ Assetic
(بسبب خطأ قرأت عنه في 1.0.2)، ولكن الإصدار القياسي v1.0.1 من AsseticBundle
بعد بعض العمل، تمكنت من الحصول على مثال أقل للملف لعرضه عبر: http://localhost/app_dev.php/css/compiled-main_part_1_boilerplate_1.css
ثم قمت بتبديل ملف .less الذي @imports ملفات .less أخرى (في نفس الدليل الفرعي).عندما أحاول الانتقال إلى تلك الصفحة على الخادم المحلي الخاص بي (باستخدام هذا التكوين الأقل)، يتم تعليقها ويمكنني رؤية عملية الأمر وعملية Node.exe قيد التشغيل.
يحاول الأمر تشغيل برنامج نصي في Node.js الموجود في الدليل المؤقت الخاص بي.يمكنني تشغيل هذا الملف من خلال Node.js في موجه الأوامر بشكل جيد، لكن لا يمكنني تحميله باستخدام Symfony/Assetic.
هل هناك أي طريقة لاستخدام Node.js وأقل وAstic على نظام التشغيل Windows؟
فيما يلي أقسام ملف التكوين ذات الصلة:
# Assetic Configuration
assetic:
debug: %kernel.debug%
use_controller: false
bundles: [FeedStreamMainBundle]
# java: /usr/bin/java
filters:
cssrewrite: ~
less:
node: %assetic_node%
node_paths: [%assetic_less_path%]
yui_js:
jar: "%kernel.root_dir%/Resources/java/yuicompressor.jar"
yui_css:
jar: %kernel.root_dir%/java/yuicompressor-2.4.2.jar
# closure:
# jar: %kernel.root_dir%/java/compiler.jar
تجاوز تكوين التطوير:
assetic:
use_controller: true
في المعلمات.ini:
assetic_node="C:\\Program Files (x86)\\nodejs\\node"
assetic_less_path="C:\\Users\\Matt\\AppData\\Roaming\\npm\\node_modules"
المحلول 3
نظرًا لعدم وجود أي إجابات حقًا، لا يمكنني إلا أن أفترض أن هناك عددًا قليلاً جدًا من مطوري Windows يستخدمون LESS وnode.js في Symfony2.
كان الحل الذي توصلت إليه هو استخدام lessphp والذي كان يعمل بشكل جيد بمجرد إدخاله في أداة التحميل التلقائي.
نصائح أخرى
نعم، استخدم com.lessphp (جانب الخادم)
سيمفوني2.1.كيفية دمج فلتر lessphp الأصولي.أضف ما يلي
الحزمة إلى الملحن.json الخاص بك:
"require": { ... "leafo/lessphp": "dev-master", ... }
قم بتشغيل تحديث PHP Composer.Phar
وقم بتحديث ملف config.yml الخاص بك
#... assetic: #... filters: lessphp: file: %kernel.root_dir%/../vendor/leafo/lessphp/lessc.inc.php apply_to: "\.less$"
أو استخدم less.js (جانب العميل)
<link rel="stylesheet/less" type="text/css" href="styles.less">
<script src="less.js" type="text/javascript"></script>
لقد استخدمت ما يلي وهذا يعمل بالنسبة لي.لاحظ أنه "node.exe" وليس العقدة فقط.
node: "C:\\Program Files (x86)\\nodejs\\node.exe"
node_paths: ["C:\\Users\\Ben\AppData\\Roaming\\npm\\node_modules"]
apply_to: "\.less$"