diff --git a/circle.yml b/circle.yml
new file mode 100644
index 0000000..5982ccc
--- /dev/null
+++ b/circle.yml
@@ -0,0 +1,7 @@
+machine:
+  node:
+    version: 4.2.1
+
+test:
+  override:
+    - cd ./weex-transformer/style-transformer && npm install && npm test && cd ../template-transformer && npm install && npm test && cd ../script-transformer && npm install && npm test && cd ../transformer && npm install && npm test && cd ../../gulp-weex && npm install && npm test && cd .. && cd ./weex-loader && npm install && npm run test && cd ..
diff --git a/weex-loader/index.js b/weex-loader/index.js
index db0e020..e7c0252 100644
--- a/weex-loader/index.js
+++ b/weex-loader/index.js
@@ -166,11 +166,11 @@
         if (deps.length) {
             requireContent += deps.map(function(dep) {
                 if (!content.match(new RegExp('require\\(["\']./' + path.basename(dep) + '["\']\\)', 'g'))) {
-                    return 'require("' + dep + '");\n';
+                    return 'require("' + dep + '");';
                 } else {
                     return '';
                 }
-            });
+            }).join('\n');
 
             content = requireContent + '\n' + content;
         }
@@ -192,7 +192,7 @@
         if (results.data) {
             data = results.data.content;
         }
-
+        
         return parseScript(loader, params, content, config, data);
     });
 }
diff --git a/weex-loader/test/actual/a.js b/weex-loader/test/actual/a.js
index 175e3e2..35c93de 100644
--- a/weex-loader/test/actual/a.js
+++ b/weex-loader/test/actual/a.js
@@ -131,7 +131,6 @@
 	;__weex_define__("@weex-component/copyright", [], function(__weex_require__, __weex_exports__, __weex_module__){
 	__webpack_require__(4);
 
-
 	;
 	    __weex_module__.exports = {
 	        data: function () {return {
