2012-02-07 12 views
5

Tôi đang cố gắng sử dụng sdk sencha để tạo tệp đã được rút gọn của mình.tạo tất cả các lớp từ sencha sdk

tôi đã trang của tôi thiết lập trên

http://www.mysite.localhost/ext/jobs/index.html

đọc từ chỉ index.html là không dễ dàng có thể. Khi tôi nhập

sencha create jsb -a http://www.mysite.localhost/ext/jobs/index.html -p app.jsb3 

Tôi nhận được tệp jsb sau.

{ 
    "projectName": "Project Name", 
    "licenseText": "Copyright(c) 2011 Company Name", 
    "builds": [ 
     { 
      "name": "All Classes", 
      "target": "all-classes.js", 
      "options": { 
       "debug": true 
      }, 
      "files": [] 
     }, 
     { 
      "name": "Application - Production", 
      "target": "app-all.js", 
      "compress": true, 
      "files": [ 
       { 
        "path": "", 
        "name": "all-classes.js" 
       }, 
       { 
        "path": "", 
        "name": "app.js" 
       } 
      ] 
     } 
    ], 
    "resources": [] 
} 

tức là nó không được bao gồm tất cả các lớp của tôi. Nếu tôi cập nhật

"con đường": "app /", "tên": "app.js"

app-all.js được tạo ra một cách chính xác. Nhưng làm thế nào tôi có thể nhận được các bộ điều khiển và quan điểm. Có rất nhiều tệp. Có ai có bất kỳ ví dụ ứng dụng mvc jsb. Ứng dụng của tôi dựa trên pandora.

app/app.js

Ext.Loader.setConfig({ enabled: true }); 
    Ext.application({ 

     name: 'Pandora', 
     models: ['Part', 'Material', 'Job', 'Process', 'Invoice', 'InvoiceDetail', 'PurchaseOrder'], 
     stores: ['SalesContact', 'Parts', 'Materials', 'Jobs', 'AccountHandlers', 'JobTypes', 'Processs', 'Artwork', 'Varnish', 'VarnishType', 'PrintType', 'ProofRequired', 'InvoiceDetails', 'PurchaseOrders'], 
    controllers: ['Part', 'Material', 'Job', 'Process', 'Invoice'], 
     launch: function() { 

      Ext.QuickTips.init(); 
      var cmp1 = Ext.create('App.view.Jobs', { 
       renderTo: "form-job" 
      }); 
      cmp1.show(); 
     } 

    }); 

index.html

<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <script type="text/javascript" src="ext-all-debug.js"></script> 
    <script type="text/javascript" src="app/app.js"></script> 
</head> 
<body> 
    <div id="form-job"></div> 
</body> 
</html> 
+0

Tôi đang gặp vấn đề tương tự tại thời điểm này. Tôi đang thiếu ux, bộ điều khiển và quan điểm của mình. Nó quản lý để tìm các cửa hàng và mô hình của tôi. Đó là nó. Tôi đang tìm kiếm như thế nào ** yêu cầu: ** tài sản đi vào chơi đối với các Viewport. Bạn vượt qua nó một loạt các khung nhìn, và người ta sẽ phỏng đoán các bộ điều khiển với nó. – subv3rsion

Trả lời

3

Cập nhật

Chúng tôi đã làm việc này mà không cần phải bao gồm tất cả mọi thứ trong Ext.Loader() trong app.js. Đảm bảo bạn vượt qua Ext.Loader() một mảng với lớp học Chế độ xem của mình. Vẫn đảm bảo rằng bạn sử dụng đúng số sử dụng:yêu cầu:. Bằng cách đó, bạn xuất kết quả cuối cùng cho tệp jsb3 chứa mọi thứ.

Tôi đã cố gắng sắp xếp điều này theo ý mình. Tôi cần sử dụng Ext.Loader() trong tệp app.js của mình. Ý tưởng chung là bạn cần phải nói cho bộ nạp nơi tệp nguồn của bạn. Đảm bảo tệp lớp học của bạn được bao gồm trong bản dựng. Dựa trên mã của bạn ở trên cho app/app.js.

Ext.Loader.setConfig({ enabled: true }); 

// SDK builder required source files, use the class names. 
Ext.Loader.require(['Pandora.view.Viewport']); 

Ext.application({ 

    name: 'Pandora', 
    models: ['Part', 'Material', 'Job', 'Process', 'Invoice', 'InvoiceDetail', 'PurchaseOrder'], 
    stores: ['SalesContact', 'Parts', 'Materials', 'Jobs', 'AccountHandlers', 'JobTypes', 'Processs', 'Artwork', 'Varnish', 'VarnishType', 'PrintType', 'ProofRequired', 'InvoiceDetails', 'PurchaseOrders'], 
    controllers: ['Part', 'Material', 'Job', 'Process', 'Invoice'], 
    launch: function() { 

     Ext.QuickTips.init(); 
     var cmp1 = Ext.create('App.view.Jobs', { 
      renderTo: "form-job" 
     }); 
     cmp1.show(); 
    } 

}); 

tôi thấy rằng trong quan điểm và điều khiển lớp học của bạn chắc chắn rằng nếu bạn có các cửa hàng gắn liền với quan điểm của bạn (như một combobox) mà bạn đang thêm mục đến quan điểm riêng của mình trong initComponent và bạn sử dụng yêu cầu : 'MyApp.store.Users' cho lớp học. Hoặc bạn sẽ nhận được các lỗi lạ khi khung nhìn sẽ khởi tạo trước cửa hàng.

Ext.Loader.require() phải được đặt trước Ext.Application. Khi bạn đã thiết lập xong tất cả các mô hình và bộ điều khiển, bạn cũng sẽ muốn thêm lượt xem của mình.

Bạn nên ở nơi tốt để tạo tệp jsb3 của mình ngay bây giờ và thấy rằng các kiểu máy, chế độ xem và bộ điều khiển của bạn hiện là một phần của quá trình xây dựng.

+0

Một số gợi ý hữu ích khác [Sử dụng công cụ SDK] (http://www.sencha.com/forum/showthread.php?142768-Using-the-SDK-tools) – subv3rsion

+0

tuyệt vời, cảm ơn vì điều này. Tôi sẽ có một phiên khác vào ngày mai này. Tôi sẽ đăng những phát hiện của tôi. – frosty

+0

Luôn sẵn sàng trợ giúp. Đừng quên để bump câu trả lời là hữu ích nếu nó giúp đỡ. Chúng ta có nghĩa vụ phải có một phiên bản khác tập trung vào sencha sdk và chủ đề này. – subv3rsion