2015-10-21 18 views

Trả lời

7

Tôi đã quyết định sử dụng bộ tải trình ng-cache cho webpack cùng với cú pháp ES2015: có nghĩa là import from thay vì require.

Một phần của cấu hình webpack của tôi:

module: { 
    loaders: [ 
     { test: /\.js$/, loader: 'babel', include: APP }, 
     { test: /\.html$/, loader: 'ng-cache?prefix=[dir]/[dir]' }, 
    ] 
    }, 

và ví dụ về chỉ với mẫu:

import avatarTemplate from './views/avatar.html'; 

const avatar = function() { 
    return { 
    restrict: 'E', 
    replace: true, 
    scope: { 
     user: '=' 
    }, 
    template: avatarTemplate 
    } 
}; 

export default avatar; 
+0

bạn chỉ có thể thêm một thư mục cụ thể về tiền tố? –

+0

có vẻ như có - https://www.npmjs.com/package/ng-cache-loader –

+0

cách này tốt hơn/tệ hơn trong ý kiến ​​của bạn so với việc sử dụng yêu cầu? (tò mò) – pootzko

3

câu trả lời của bạn là đúng. Tuy nhiên chỉ cung cấp thay thế cho nó:

const avatar = function() { 
    return { 
    restrict: 'E', 
    replace: true, 
    scope: { 
     user: '=' 
    }, 
    template: require("../path/to/file.html"), 
    } 
}; 

export default avatar; 
+0

cách này tốt hơn/tệ hơn trong ý kiến ​​của bạn hơn là sử dụng nhập khẩu? (Hiếu kỳ) – pootzko

0

Trong Webpack.config nộp bạn có thể thêm html chính như dưới đây

plugins: [ 
new HtmlWebpackPlugin({ 
    template: 'index.html' 
}), 
new ExtractTextPlugin('bundle.css') 

], Bao gồm html-loader trong package.json và sử dụng các phương pháp dưới đây trong khối cấu hình một mình là đủ.

$stateProvider.state('app', { 
     url: '/app', 
     template: require('html-loader!root/app/Common/templates/role.html'), 
     controller: 'roleController' 
    }) 

Vì vậy, tất cả các partials sẽ được đóng gói trong bundle.js itself.No cần thêm các bộ tải trong webpack-config cũng

Các vấn đề liên quan