2015-06-25 36 views
8

Tôi sử dụng browserify cho ứng dụng khách góc của tôi. Tôi cần phải sử dụng gạch dưới. góc được cài đặt với Chòi chơi và gạch dưới được cài đặt với NPMbrowserify bản đồ nguồn không hoạt động nếu yêu cầu gạch dưới

Đây là cách tôi chạy browserify (NPM) và tạo bản đồ nguồn trong ngụm (NPM)

gulp.task('browserify', function() { 
    return browserify(dir.script_from + '/main.js', {debug: true}) 
     .bundle() 
     .pipe(source('bundle.js')) // gives streaming vinyl file object 
     .pipe(buffer()) // <----- convert from streaming to buffered vinyl file object 
     .pipe(sourcemaps.init({loadMaps: true})) 
     .pipe(uglify()) // now gulp-uglify works 
     .pipe(sourcemaps.write('./')) 
     .pipe(gulp.dest(dir.script_to)); 
}); 

Trong main.js tôi, tôi có

//require('underscore') 
require('angular') 
require('angular-resource') 
require('angular-route') 
require('./home/home_page.js') 
... 

nếu tôi không yêu cầu ('gạch dưới'), bản đồ nguồn đang hoạt động. Tôi có thể xem các tập tin gốc và thiết lập các điểm ngắt.

enter image description here

Nhưng nếu tôi yêu cầu ('gạch'), bản đồ nguồn không hoạt động nữa. Tôi thậm chí không thể xem các tập tin.

enter image description here

Tôi cũng đã cố gắng cài đặt nhấn mạnh với Chòi chơi, nhưng tôi nhận được lỗi sau:

[23:59:02] Starting 'browserify'... 
events.js:85 
     throw er; // Unhandled 'error' event 
      ^
Error: Cannot find module 'underscore' from '/Users/[my path]/app/client/script' 

Lưu ý rằng cả hai Chòi (Tôi config'ed con đường) và các module NPM đặt trong '/ Users/[đường dẫn của tôi]/thư mục node_modules'

tôi thậm chí đã cố gắng một main.js với chỉ một dòng: require('underscore') và không làm việc, nhưng tập tin main.js rỗng làm việc

+0

bạn có gặp lỗi không? một cái gì đó như: "gạch dưới là không xác định" – marcel

+0

@marcel không có lỗi cho npm, 'không thể tìm thấy' cho bower. – John

+1

Bạn đã cài đặt 'gạch dưới' như thế nào? – marcel

Trả lời

1

Tôi gặp vấn đề tương tự với underscore/browserify. Có lẽ cách tốt hơn là loại trừ nó trong gói. Chỉ cần có thẻ <script> liên kết với tệp underscore của bạn. Và trong gói, bạn có thể sử dụng trực tiếp _.

Nếu bạn đang sử dụng góc cạnh, bạn nên sử dụng <script> riêng biệt vì hầu hết người dùng có thể đã có sẵn angular từ CDN cho một trang web góc cạnh khác.

3

gulp đang kiểm tra dấu gạch dưới trong thư mục gốc của bạn. Hãy thử thêm con đường gạch dưới trong config.js hoặc trong package.json

config.js

require: ['node_modules/underscore'] 

hoặc

package.json

"underscore": "./node_modules/underscore" 
Các vấn đề liên quan