首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Webpack/Browserify和UI-Router

Webpack/Browserify和UI-Router
EN

Stack Overflow用户
提问于 2014-12-15 08:36:15
回答 2查看 2.9K关注 0票数 2

我似乎无法让Webpack或Browserify与UI-Router一起工作。有人能帮上忙吗?

下面是我的模块文件:

代码语言:javascript
代码运行次数:0
运行
复制
"use strict";

require("angular");

angular
    .module("app", [require("angular-ui-router")])
    .config(require("./app.routes"));

和我的路由文件:

代码语言:javascript
代码运行次数:0
运行
复制
"use strict";

module.exports = function($urlRouteProvider, $stateProvider) {
    $urlRouteProvider.otherwise("/state1");

    $stateProvider
        .state("state1", {
            url: "/state1",
            templateUrl: "partials/state1.html"
        })
        .state("state2", {
            url: "/state2",
            templateUrl: "partials/state2.html"
        });
}
EN

回答 2

Stack Overflow用户

发布于 2014-12-15 09:49:01

因此,不幸的是,当您将bower和angularjs依赖注入系统组合在一起时,组件通常不会使用与其angular模块名称相同的bower包名称。这是完全恼人和令人沮丧的,但可悲的是,它是相当普遍的。在本例中,名为" angular -ui-router“的bower组件使用angular模块名称"ui.router”声明自身,这也是它在commonjs中导出的内容。So

在您的package.json "browser“部分中,将其配置如下:

代码语言:javascript
代码运行次数:0
运行
复制
"ui.router": "./bower_components/angular-ui-router/release/angular-ui-router.js",

然后在你的浏览器代码中,你可以同时require它(这样browserify会把它包含在你的包中),并将它注入到你的angular应用程序中(这有点高级/令人困惑,但它碰巧被这个特定的模块支持,而bower中的大多数angular js插件不支持任何内置的commonjs )。

代码语言:javascript
代码运行次数:0
运行
复制
angular.module("app", [require("ui.router")]);
票数 1
EN

Stack Overflow用户

发布于 2014-12-18 19:02:36

如果你想对webpack使用bower,你需要像这样的一行:https://github.com/jeffling/angular-webpack-example/blob/master/template/webpack.config.coffee#L83

这将教会webpack如何读取bower.json文件中的main属性。这适用于angular-ui-router -我在我们的项目中使用它。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27475820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档